15位或者18位
15位,7-12位为日期850101这样
18位,7-14位为日期,最后一位数字或X
求个可用的正则。最好就一句话把。
15位,7-12位为日期850101这样
18位,7-14位为日期,最后一位数字或X
求个可用的正则。最好就一句话把。
解决方案 »
- jquey 中each的问题。。。
- 这样的代码为什么会再火狐可以显示,在ie什么都显示不了了
- 不知道JS里面有没有让DIV等比例缩放的方法
- 父页面动态的向iframe中加入节点,如何做?
- 如何实现多张并排图片拖动排序?
- ****xmlhttp + servlet,URL中的参数在servlet中如何获得?*****
- 如何用javascript来拖动调整table的size
- JAVASCRIPT的下拉菜单中遇到的棘手问题,在线等~!
- 谁能帮忙帮这个代码精简一下,本人初学!谢了!
- 如何用javascript刷新本页中的一个iframe呀,因为iframe的内容用document.body.innerHTML重新写过一个新值 了
- 急!!!!!!!!!!!!
- 地址栏输入: tencent://message/?uin=664326375 会弹出一个qq对话框和一个网页,如何把网页去掉
alert('请输入合法身份证');
return false;
}
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
function check(){
var v=document.getElementById("s").value;
var card15=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
var card18=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|[X,x])$/;
if(!card15.test(v) && !card18.test(v)){
alert('请输入合法的身份证号码!');
return false;
}} </script>
</HEAD> <BODY>
<input type="text" id="s"/>
<input type="button" onclick="check()" value="submit"/>
</BODY>
</HTML>
{
var i,temp;
var isvalidide = true;
inputstr=trim(inputs);
if(inputstr.length == null || inputstr.length == 0 || (inputstr.length != 15 && inputstr.length != 18)) return false;
for(i=0;i<inputstr.length;i++)
{
temp=inputstr.substring(i,i+1); if(!((temp>="0" && temp<="9") || temp == "x" || temp == "X"))
{
isvalidide=false;
break;
}
}
return isvalidide;
}
<script language="javascript" src="js/jquery-1.3.2.min.js"></script>
<script>
function NationalId_guonei(national_id){
var idcardx = document.getElementById(national_id);
var idcard = idcardx.value;
var Errors=new Array(
"身份证号码位数不对!",
"身份证号码出生日期超出范围或含有非法字符!",
"身份证号码校验错误!",
"身份证为空或地区非法!"
);
var area={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 Y,JYM;
var S,M;
var idcard_array = new Array();
idcard_array = idcard.split("");
//地区检验
if(area[parseInt(idcard.substr(0,2))]==null){
alert(Errors[3]);
idcardx.focus();
idcardx.style.borderColor='#FF0000';
return false;
}
//身份号码位数及格式检验
switch(idcard.length){
case 15:
if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;
}
else {
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;
}
if(ereg.test(idcard)){
return true;
}
else{
alert(Errors[1]);
idcardx.focus();
idcardx.style.borderColor='#FF0000';
return false;
}
return false;
case 18:
if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;
}
else {
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;
}
if(ereg.test(idcard)){
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
+ parseInt(idcard_array[7]) * 1
+ parseInt(idcard_array[8]) * 6
+ parseInt(idcard_array[9]) * 3 ;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y,1);//判断校验位
if(M != idcard_array[17]){
alert(Errors[2]);
idcardx.focus();
idcardx.style.borderColor='#FF0000';
return false;
}
return true;
}
else {
alert(Errors[1]);
idcardx.focus();
idcardx.style.borderColor='#FF0000';
return false;
}
default:
alert(Errors[0]);
idcardx.focus();
idcardx.style.borderColor='#FF0000';
return false;
}
}
</script>