永发信息网

求个严格的新老身份证的正则匹配

答案:5  悬赏:0  手机版
解决时间 2021-07-31 23:29
  • 提问者网友:玫瑰园
  • 2021-07-31 12:53
求个严格的新老身份证的正则匹配
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-07-31 13:16

下面这个正则对身份证号的判断使用较广


^[1-9]([0-9]{14}|[0-9]{17})$

全部回答
  • 1楼网友:酒醒三更
  • 2021-07-31 16:46
using System.Text.RegularExpressions;//所需导入命名空间 /// <summary> /// 判断身份证是否合法 /// </summary> /// <param name="str">身份证号码</param> /// <returns>bool</returns> public bool cardID(string str) { bool error = true; string zzbds=@"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$"; //设置正则表达式 Match m = Regex.Match(str, zzbds);//判断并得到结果 if (!m.Success)//判断如果不符合正则表达式规则设置error为false; { error = false; ; } return error; } 如果不够,还可以老这里下载,这下可以了吧!!!! http://download.csdn.net/source/734300
  • 2楼网友:孤独入客枕
  • 2021-07-31 16:26

idCard是接收身份证的参数~

然后如下判断~

if(idCard=="") document.form1.idCardPrompt.value="身份证号码不允许为空。请输入您的身份证号码。"; else if(idCard.length==15) { if(reID15.test(idCard)==false) document.form1.idCardPrompt.value="身份证号码输入有误,请核对后重新输入。"; else if(reID15.test(idCard)==true) document.form1.idCardPrompt.value=""; } else if(idCard.length==18) { var s,y,jym; var n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15,n16,n17,n18; var str=new String(idCard); n1=str.charAt(0); n2=str.charAt(1); n3=str.charAt(2); n4=str.charAt(3); n5=str.charAt(4); n6=str.charAt(5); n7=str.charAt(6); n8=str.charAt(7); n9=str.charAt(8); n10=str.charAt(9); n11=str.charAt(10); n12=str.charAt(11); n13=str.charAt(12); n14=str.charAt(13); n15=str.charAt(14); n16=str.charAt(15); n17=str.charAt(16); n18=str.charAt(17);

s=n1*7+n2*9+n3*10+n4*5+n5*8+n6*4+n7*2+n8*1+n9*6+n10*3+n11*7+n12*9+n13*10+n14*5+n15*8+n16*4+n17*2; y=s % 11; switch(y) { case 0: {jym=1;break;} case 1: {jym=0;break;} case 2: {jym="x";break;} case 3: {jym=9;break;} case 4: {jym=8;break;} case 5: {jym=7;break;} case 6: {jym=6;break;} case 7: {jym=5;break;} case 8: {jym=4;break;} case 9: {jym=3;break;} case 10: {jym=2;break;} }

if(jym==n18) { if(reID18.test(idCard)==false) document.form1.idCardPrompt.value="身份证号码输入有误,请核对后重新输入。"; else if(reID18.test(idCard)==true) document.form1.idCardPrompt.value=""; } else document.form1.idCardPrompt.value="身份证号码输入有误,请核对后重新输入。";

} else document.form1.idCardPrompt.value="身份证号码位数不对,身份证号码位数为15位或18位。";

  • 3楼网友:轻雾山林
  • 2021-07-31 15:38

18位身份证前4位为所在市的代码 5,6位是所在区代码 7-14是8位出生日期 15-17是你在派出所的出生顺序码 最后一位是校验位。

  • 4楼网友:你可爱的野爹
  • 2021-07-31 14:56
匹配身份证:\d{15}|\d{18} 注:中国的身份证为15位或18位
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯