—–数字验证类
整数
/^(-|+)?d+$/.test(str)
大于0的整数 (用于传来的ID的验证)
/^d+$/.test(str)
负整数的验证
/^-d+$/.test(str)
—–时间验证类
2.1短时间,形如 (13: 04: 06)
function isTime(str)
{
var a = str.match(/^(d{1,2})(:)?(d{1,2})2(d{1,2})$/);
if (a == null)
{
alert(‘输入的参数不是时间格式’);
return false;
}
if (a[1] > 24 || a[3] > 60 || a[4] > 60)
{
alert(“时间格式不对”);
return false
}
return true;
}
2.2短日期,形如 (2003 – 12 – 05)
function strDateTime(str)
{
var r = str.match(/^(d{1,4})(-|/)(d{1, 2}) 2(d{1, 2}) $ / );
if (r == null) return false;
var d = new Date(r[1], r[3] – 1, r[4]);
return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]);
}
2.3长时间,形如 (2003 – 12 – 05 13: 04: 06)
function strDateTime(str)
{
var reg = /^(d{1,4})(-|/)(d{1, 2}) 2(d{1, 2})(d{1, 2}): (d{1, 2}): (d{1, 2}) $ / ;
var r = str.match(reg);
if (r == null) return false;
var d = new Date(r[1], r[3] – 1, r[4], r[5], r[6], r[7]);
return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]);
}
2.4只有年和月。形如 (2003 – 05, 或者2003 – 5)
2.5只有小时和分钟, 形如 (12: 03)
—–表单验证类
所有的表单的值都不能为空 < input onblur = “if (this.value.replace(/^s+|s+$/g, “) == “) alert(‘不能为空!’)”>
多行文本框的值不能为空。
多行文本框的值不能超过sMaxStrleng多行文本框的值不能少于sMixStrleng判断单选框是否选择。
判断复选框是否选择.复选框的全选,多选,全不选,反选文件上传过程中判断文件类型
—–字符验证类
判断字符全部由a-Z或者是A-Z的字字母组成 <input onblur=”if(/[^a-zA-Z]/g.test(this.value))alert(‘有错’)”>
判断字符由字母和数字组成。 <input onblur=”if(/[^0-9a-zA-Z]/g.test(this.value))alert(‘有错’)”>
判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 /^([a-zA-z_]{1})([w]*)$/g.test(str)
字符串替换函数.Replace();
—–email地址的判断
1 2 3 4 5 6 7 |
<script> function ismail(mail) { return(new RegExp(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/).test(mail)); } alert(ismail("huoxin2008@126.com")) </script> |
—–身份证的验证
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<script> function isIdCardNo(num) { if (isNaN(num)) { 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("输入的数字位数不对!"); 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; } } return true; } alert(isIdCardNo('123456789′)); < /script> |
—–身份证严格验证
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<script> var aCity={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:"国外"} function cidInfo(sId){ var iSum=0; var info=""; if(!/^d{17}(d|x)$/i.test(sId)) return false; sId = sId.replace(/x$/i, "a"); if (aCity[parseInt(sId.substr(0, 2))] == null) return "Error: 非法地区"; sBirthday = sId.substr(6, 4) + " - " + Number(sId.substr(10, 2)) + " - " + Number(sId.substr(12, 2)); var d = new Date(sBirthday.replace(/-/g, " / ")) if (sBirthday != (d.getFullYear() + " - " + (d.getMonth() + 1) + " - " + d.getDate())) return "Error: 非法生日"; for (var i = 17; i >= 0; i--) iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17–i), 11) if (iSum % 11 != 1) return "Error: 非法证号"; return aCity[parseInt(sId.substr(0, 2))] + ", " + sBirthday + ", " + (sId.substr(16, 1) % 2 ? "男" : "女") } document.write(cidInfo("380524198002300016″), ""); document.write(cidInfo("340524198002300019″), ""); document.write(cidInfo("340524197711111111″), ""); document.write(cidInfo("34052419800101001x"), ""); </script> |
—–验证IP地址格式是否正确
function isip(s)
{
var check = function(v)
{
try
{
return (v <= 255 && v >= 0)
}
catch (x)
{
return false
}
};
var re = s.split(“.”) return (re.length == 4) ? (check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])) : false
}
var s = “202.197.78.129″;
alert(isip(s));
</script>
str=document.RegExpDemo.txtIP.value;
if(/^(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})$/.test(str)==false)
{ window.alert(‘错误的IP地址格式’);
document.RegExpDemo.txtIP.select();
document.RegExpDemo.txtIP.focus();
return;
}
if(RegExp.$1<1 || RegExp.$1>254||RegExp.$2<0||RegExp.$2>254||RegExp.$3<0||RegExp.$3>254||RegExp.$4<1||RegExp.$4>254) {
window.alert(‘错误的IP地址’);
document.RegExpDemo.txtIP.select();
document.RegExpDemo.txtIP.focus();
return;
}
//剔除 如 010.020.020.03 前面 的0
var str=str.replace(/0(d)/g,”$1″);
str=str.replace(/0(d)/g,”$1″);
window.alert(str);
电话号码的验证
要求:
(1)电话号码由数字、”(“、”)”和”-“构成
(2)电话号码为3到8位
(3)如果电话号码中包含有区号,那么区号为三位或四位
(4)区号用”(“、”)”或”-“和其他部分隔开
(5)移动电话号码为11或12位,如果为12位,那么第一位为0
(6)11位移动电话号码的第一位和第二位为”13″
(7)12位移动电话号码的第二位和第三位为”13″
根据这几条规则,可以与出以下正则表达式:
(^[0-9]{3,4}-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^([0-9]{3,4})[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)
1 2 3 4 5 6 7 8 9 |
<script language="javascript"> function PhoneCheck(s) { var str=s; var reg=/(^[0-9]{3,4}-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^([0-9]{3,4})[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/ alert(reg.test(str)); } </script> <input type=text name="iphone"> <input type=button onclick="PhoneCheck(document.all.iphone.value)" value="Check"> |