要判断身份证号码是否合法,可以使用正则表达式来进行匹配。
- 使用preg_match()函数来进行正则匹配,判断身份证号码是否符合规范。
- 对于身份证号码的格式,可以参考国家标准GB11643-1999。
- 在正则表达式中,可以使用d来匹配数字,{18}表示匹配18位数字,[1-9]d{5}表示匹配前6位地区编码,[1-9]d{3}表示匹配出生年份,((0[1-9])|(1[0-2]))表示匹配出生月份,((0[1-9])|([1-2]d)|(3[0-1]))表示匹配出生日期,d{3}表示匹配顺序码,[0-9Xx]表示匹配校验码。
- 综合上述规则,可以得到身份证号码的正则表达式:/^[1-9]d{5}(19|20)d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)d{3}[dXx]$/。
- 使用preg_match()函数来判断身份证号码是否符合正则表达式规则:if(preg_match("/^[1-9]d{5}(19|20)d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)d{3}[dXx]$/", $idCard)) { // 符合规则 } else { // 不符合规则 }