永发信息网

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

答案:5  悬赏:0  手机版
解决时间 2021-07-31 23:29
求个严格的新老身份证的正则匹配
最佳答案

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


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

全部回答
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

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位。";

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

匹配身份证:\d{15}|\d{18} 注:中国的身份证为15位或18位
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何可以5开通黃钻就可以开通牧场呢?
项城市周口一根艾草这个地址怎么能查询到,着
送女朋友玫瑰花祝福语,花语情话祝福语红玫瑰
单机版魔兽3冰封王座在那可以下载啊?
火箭当前的表现只是昙花一现吗?
QQ解防沉迷网站是什么
(急!)我知道对方的QQ密码请问可以改密码吗?
新县信阳羚锐沸孪乇龉?南门)地址有谁知道?有
初吻后有什么感觉?喜欢一个人又有什么感觉?
war3录像不能播放
部落亡灵盗贼、学哪两个专业适合PVE、而且能
黄河以前的样子和现在的样子
衡东县衡阳衡东县接待处我想知道这个在什么地
花卉园艺工资格证有用吗
华为手机接音向,声音小得无法听
推荐资讯
叛逆的鲁路修有可能出第三部?
麻烦给估个<陕西一区>
家住三东,知道这个地方么?
188.189的3G卡号月租是多少
为什么我的农场币比在好友的空间里少了很多
石是从哪来的?
关于失败、成功小故事
请问诺基亚N78手机键盘上的键是小小个的突出
聚合氯化铝是混凝剂还是絮凝剂?
2010年汽车购置税减半是否延续?是否能扩大排
one second 到底对不对啊 怎么么有的说行 有
我17.去年被别人强迫Ml,那是我的第一次!还
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?