本文共 4439 字,大约阅读时间需要 14 分钟。
1.验证手机:
var mobileReg = /^0{0,1}(13[0-9]|15[7-9]|151|153|150|156|18[6-9])[0-9]{8}$/;
if (!mobileReg.test(“手机的值”)) {
alert("手机格式不对");return false;
}2.验证电话:
var phoneReg = /^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/; 或者
var photo = /^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;//座机(0开头)
if (!phoneReg.test(“电话的值”)) { alert("电话格式不对"); return false;}
3.验证邮箱:
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/; 或者
var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if (!reg.test(“邮箱的值”)) { alert("邮箱格式错误!"); return false; }4.验证邮政编码:
var myReg = /^[1-9]\d{5}$/;
if (!myReg.test("邮编的值")){
alert(“邮编格式不对”);
return false;
}
5.验证用户名(中文英文数字下划线) :
var myReg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{4,16}$/;
if (!myReg .test(“用户名的值”)) {
alert("用户名格式错误!"); return false; }6.验证密码(英文数字,必须都包含):
var myReg = /^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{8,16}$/;
if (!myReg .test(“密码的值”)) {
alert("密码格式错误!"); return false; }7.验证对身份证:
function checkidcard(idcard){
//对身份证的验证 idcard为身份证的值 return isIdCardNo(idcard); } function isIdCardNo(num) { num = num.toUpperCase(); // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。 if(num==''){ $("#idcard_span").text("请输入身份证"); return false; } if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) { // alert('输入的身份证号长度不对,或者号码不符合规定!\n15位号码应全为数字,18位号码末位可以为数字或X。'); $("#idcard_span").text("输入的身份证号长度不对,或者号码不符合规定!\n15位号码应全为数字"); return false; } //校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。 //下面分别分析出生日期和校验位 var len, re; len = num.length; if (len == 15) { re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/); var arrSplit = num.match(re); //检查生日日期是否正确 var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]); var bGoodDay; bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4])); if (!bGoodDay) { // alert('输入的身份证号里出生日期不对!'); $("#idcard_span").text("输入的身份证号里出生日期不对!"); return false; } /*else { //将15位身份证转成18位 //校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。 var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); var nTemp = 0, i; num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6); for(i = 0; i < 17; i ++) { nTemp += num.substr(i, 1) * arrInt[i]; } num += arrCh[nTemp % 11]; return true; }*/ } if (len == 18) { re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/); var arrSplit = num.match(re); //检查生日日期是否正确 var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]); var bGoodDay; bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4])); if (!bGoodDay) { // alert(dtmBirth.getYear()); // alert(arrSplit[2]); // alert('输入的身份证号里出生日期不对!'); $("#idcard_span").text("输入的身份证号里出生日期不对!"); return false; } else { //检验18位身份证的校验码是否正确。 //校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。 var valnum; var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); var nTemp = 0, i; for(i = 0; i < 17; i ++) { nTemp += num.substr(i, 1) * arrInt[i]; } valnum = arrCh[nTemp % 11]; if (valnum != num.substr(17, 1)) { // alert('18位身份证的校验码不正确!应该为:' + valnum); $("#idcard_span").text("18位身份证的校验码不正确!应该为:" + valnum); return false; } return true; } } return false; } 8.全角空格的判断:var spokesman =$("#spokesman").val();
var partens=/[\u3000]/g; //全角正则
if(partens.test(spokesman)) { spokesman=""; //如果的全角下的空格则修改spokesman为空 }9.验证网址
转载地址:http://dphji.baihongyu.com/