以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 身份证号码验证 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=99073) |
||||||||
-- 作者:zhangjian222200 -- 发布时间:2017/4/12 11:27:00 -- 身份证号码验证 这是文档中的例子 Dim Identify As String = "34052419800101001X" ValidPIN(Identify) 如何把上面的ValidPIN(Identify)集合到下面的代码中,v0 < 1哪里 function validit_zhengjian(){ var v0 = document.getElementById("sfzh").value; var v1 = document.getElementById("up1_thumbnails").getElementsByTagName("li").length; var v2 = document.getElementById("up4_thumbnails").getElementsByTagName("li").length; alert(v1 + " " + v2); if(v0 < 1){ showTopTips("toptip1","请正确输入身份证号码!",2000); return false; } if(v1 < 1){ showTopTips("toptip1","请上传身份证正面照片!",2000); return false; } if(v1 > 1){ showTopTips("toptip1","身份证正面照片大于1张!",2000); return false; } if(v2 < 1){ showTopTips("toptip1","请上传身份证反面照片!",2000); return false; } if(v2 > 1){ showTopTips("toptip1","身份证反面照片大于1张!",2000); return false; } show("tst1",2000); var result = submitAjaxForm(\'form1\',\'afterSubmit\'); } function afterSubmit(result){ hide("tst1"); if (result==\'OK\') { show("tst2"); location="success.htm"; } else{ show("tst3",2000); } }
[此贴子已经被作者于2017/4/12 11:43:42编辑过]
|
||||||||
-- 作者:有点色 -- 发布时间:2017/4/12 11:50:00 -- 写一个js函数来用
调用方法 if(IdentityCodeValid(v0))
function IdentityCodeValid(code) { |
||||||||
-- 作者:zhangjian222200 -- 发布时间:2017/4/12 18:41:00 -- function validit_zhengjian(){ var v0 = document.getElementById("sfzh").value; var v1 = document.getElementById("up1_thumbnails").getElementsByTagName("li").length; var v2 = document.getElementById("up4_thumbnails").getElementsByTagName("li").length; alert(v1 + " " + v2); if(v0 != ^[0-9]{17}[0-9、x]$){ \'只需要简单验证格式,怎么写? showTopTips("toptip1","请正确输入身份证号码!",2000); return false; } if(v1 < 1){ showTopTips("toptip1","请上传身份证正面照片!",2000); return false; } if(v1 > 1){ showTopTips("toptip1","身份证正面照片大于1张!",2000); return false; } if(v2 < 1){ showTopTips("toptip1","请上传身份证反面照片!",2000); return false; } if(v2 > 1){ showTopTips("toptip1","身份证反面照片大于1张!",2000); return false; } show("tst1",2000); var result = submitAjaxForm(\'form1\',\'afterSubmit\'); } function afterSubmit(result){ hide("tst1"); if (result==\'OK\') { show("tst2"); location="success.htm"; } else{ show("tst3",2000); } }
|
||||||||
-- 作者:有点色 -- 发布时间:2017/4/12 19:44:00 -- 弄一个函数来用不好?直接复制粘贴就行了。很方便的啊。
如果要直接判断就这样写
if(!/^\\d{6}(18|19|20)?\\d{2}(0[1-9]|1[12])(0[1-9]|[12]\\d|3[01])\\d{3}(\\d|X)$/i.test(v0)){
} |
||||||||
-- 作者:zhangjian222200 -- 发布时间:2017/5/30 14:26:00 -- 按4楼方法不成功,但是可以显示toptip 按2楼方法,不成功且不显示toptip,js如下: function validit_zhengjian(){ var code = document.getElementById("sfzh").value; var v1 = document.getElementById("up1_thumbnails").getElementsByTagName("li").length; var v2 = document.getElementById("up4_thumbnails").getElementsByTagName("li").length; alert(v1 + " " + v2); if(IdentityCodeValid(code)) showTopTips("toptip1","请正确输入身份证号码!",2000); return false; } if(v1 < 1){ showTopTips("toptip1","请上传身份证正面照片!",2000); return false; } if(v1 > 1){ showTopTips("toptip1","身份证正面照片大于1张!",2000); return false; } if(v2 < 1){ showTopTips("toptip1","请上传身份证反面照片!",2000); return false; } if(v2 > 1){ showTopTips("toptip1","身份证反面照片大于1张!",2000); return false; } show("tst1",2000); var result = submitAjaxForm(\'form1\',\'afterSubmit\'); } function afterSubmit(result){ hide("tst1"); if (result==\'OK\') { show("tst2"); location="success.htm"; } else{ show("tst3",2000); } } function IdentityCodeValid(code) { var city={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江 ",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北 ",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏 ",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外 "}; var tip = ""; var pass= true; if(!code || !/^\\d{6}(18|19|20)?\\d{2}(0[1-9]|1[12])(0[1-9]|[12]\\d|3[01])\\d{3}(\\d|X)$/i.test(code)){ alert("ok"); ’这里没有执行 tip = "身份证号格式错误"; pass = false; } else if(!city[code.substr(0,2)]){ tip = "地址编码错误"; pass = false; } else{ //18位身份证需要验证最后一位校验位 if(code.length == 18){ code = code.split(\'\'); //∑(ai×Wi)(mod 11) //加权因子 var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ]; //校验位 var parity = [ 1, 0, \'X\', 9, 8, 7, 6, 5, 4, 3, 2 ]; var sum = 0; var ai = 0; var wi = 0; for (var i = 0; i < 17; i++) { ai = code[i]; wi = factor[i]; sum += ai * wi; } var last = parity[sum % 11]; if(parity[sum % 11] != code[17]){ tip = "校验位错误"; pass =false; } } } if(!pass) alert(tip); return pass; } [此贴子已经被作者于2017/5/30 22:31:54编辑过]
|
||||||||
-- 作者:有点色 -- 发布时间:2017/5/31 10:07:00 -- 2楼、4楼代码都没问题。请单独做一个例子测试。
如果你要调试,打开浏览器的调试功能,看报什么错。 |
||||||||
-- 作者:zhangjian222200 -- 发布时间:2017/5/31 11:14:00 -- per_zhengjian.htm代码,任务是生成页面
valid_zhengjian.htm代码,任务是保存身份证号码及图片 js代码
[此贴子已经被作者于2017/5/31 11:14:39编辑过]
|
||||||||
-- 作者:zhangjian222200 -- 发布时间:2017/5/31 11:16:00 -- 代码在楼上 |
||||||||
-- 作者:有点色 -- 发布时间:2017/5/31 11:32:00 -- function validit_zhengjian(){ function afterSubmit(result){ |
||||||||
-- 作者:zhangjian222200 -- 发布时间:2017/5/31 11:54:00 -- 原来是我把js里面的函数 IdentityCodeValid(code)注释掉了,注释取消就好了 但是输入正确是身份证号码,提示:身份证号格式错误 if(!code || !/^\\d{6}(18|19|20)?\\d{2}(0[1-9]|1[12])(0[1-9]|[12]\\d|3[01])\\d{3}(\\d|X)$/i.test(code)){ alert("ok"); tip = "身份证号格式错误"; pass = false; } [此贴子已经被作者于2017/5/31 11:57:38编辑过]
|