自己写的两个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;}
}