代码改变世界

自己写的两个JS 用户名(字母汉字数字)、身份证号码、电话号码

2011-03-15 10:55  沐海  阅读(892)  评论(0编辑  收藏  举报


function isIdCardNo(kk)
{  //身份证号码检测
 var num=document.getElementById(kk).value;
if (!isNumber(kk)) {alert("输入的不是数字!"); return false;}
var len = num.length, re;
if (len == 15)
re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
else if (len == 18)
re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
else {alert("请输入正确的15/18位身份证号码!"); return false;}
var a = num.match(re);
if (a != null)
{
if (len==15)
{
var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
else
{
var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
if (!B) {alert("输入的身份证号 "+ a[0] +" 里的出生日期不正确!"); return false;}
else{return true;}
}
else{return false;}
}

function checkStr(aa) {//用户名检测
 var str=document.getElementById(aa).value;
    var len = str.length;
    var reLen = 0;
    for (var i = 0; i < len; i++) {       
        if (str.charCodeAt(i) < 27 || str.charCodeAt(i) > 126) {
           
            reLen += 2;
        } else {
            reLen++;
        }
    }
  
 if(4<=reLen&&reLen<=20){
 
 //     [\u4E00-\uFA29]|[\uE7C7-\uE7F3]汉字编码范围    {3,8}
var re1 = new RegExp("^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9])*$");
if (!re1.test(str)){
     alert("用户名必须是字母、数字、或中文");
     return false;
     }else{return true;}
}

else{alert("请输入用户名长度在4~20之间汉字占两个字符!");return false;}

}

function chkMobile(mo){//手机号码检测
 var mobile=document.getElementById(mo).value;
 if(mobile=="") {alert("请输入手机号码!");   return false;}
 
 if(mobile.length==11){
 if(/^13\d{9}$/.test( mobile ) | /^15\d{9}$/.test( mobile ) | /^18\d{9}$/.test( mobile ))
  { return true;}
 else{alert("手机号码格式有误,请重新输入!");   return false;}}
 else{alert("请输入11位手机号码!");   return false;}
 
}

记录生活、工作、学习点滴!
E-Mail:mahaisong@hotmail.com 欢迎大家讨论。
沐海博客园,我有一颗,卓越的心!