前不久写js时需要用到身份证校验,在网上查找,没有全面的较好的,后来根据网上的几个拼凑出用于18位和15位身份证校验的正则表达式,记录一下,方面以后使用和回顾。
^[1-9]\d{5}(18|19|20|21|22)\d{2}((0[1-9])|10|11|12)(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$|^[1-9]\d{5}\d{2}((0[1-9])|10|11|12)(0[1-9]|[12]\d|3[01])\d{3}$
^[1-9]\d{5}(18|19|20|21|22)\d{2}((0[1-9])|10|11|12)(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$|^[1-9]\d{5}\d{2}((0[1-9])|10|11|12)(0[1-9]|[12]\d|3[01])\d{3}$