//定义正则表达式库
var PatternsDict = new Object();
//日期格式yyyy
PatternsDict.date_y= /^(/d{4})$/;
//日期格式yyyy-mm
PatternsDict.date_ym= /^(/d{4})-(0/d{1}|1[0-2])$/;
//日期格式yyyy-mm-dd
PatternsDict.date_ymd= /^(/d{4})-(0/d{1}|1[0-2])-(0/d{1}|[12]/d{1}|3[01])$/;
//时间格式hh
PatternsDict.time_h=/^(0/d{1}|1/d{1}|2[0-3])$/;
//时间格式hh:mm
PatternsDict.time_hm=/^(0/d{1}|1/d{1}|2[0-3]):([0-5]/d{1})$/;
//时间格式hh:mm:ss
PatternsDict.time_hms=/^(0/d{1}|1/d{1}|2[0-3]):[0-5]/d{1}:([0-5]/d{1})$/;
//整数格式
PatternsDict.long=/^(0|[1-9]/d*)$/;
//小数格式
PatternsDict.double=/^(0|[1-9]/d*)/.(/d+)$/;
//数值格式
PatternsDict.number=/^(0|[1-9]/d*)$|^(0|[1-9]/d*)/.(/d+)$/;
//自然数
PatternsDict.positive=/^([1-9]/d*)$/;
//负整数
PatternsDict.negative=/^(-([1-9]/d*))$/;
//钱的格式,元,两位小数
PatternsDict.money=/^(0|[1-9]/d*)$|^(0|[1-9]/d*)/.(/d{1,2})$/;
//任意字符,不可以为空
PatternsDict.empty=/(.)+/;
//任意字符,可以为空
PatternsDict.eempty=/(.)*/;
//电话格式,0xx-xxxxxxxx或0xxx-xxxxxxx或13xxxxxxxxx
PatternsDict.telephone=/^(0/d{2})(/d{8})$|^(0/d{3})(/d{7})$|^(13/d{9})$/;
//多个电话格式,用逗号分隔
PatternsDict.mtelephone=/^(0/d{2}/d{8}|0/d{3}/d{7}|13/d{9})((,(0/d{2}/d{8}|0/d{3}/d{7}|13/d{9}))*)$/;
//电子邮件
PatternsDict.email=/^(/w+@/w{2,})((./w{2,})+)$/i;
//多个电子邮件
PatternsDict.memail=/^(^(/w+@/w{2,})((./w{2,})+)$)((,^(/w+@/w{2,})((./w{2,})+)$)*)$/i;
//邮政编码
PatternsDict.postcode=/^(/d{6})$/;
//只包含数字字母和下划线,可以为空
PatternsDict.enormal=/^/w*$/;
//只包含数字字母和下划线,不可以为空
PatternsDict.normal=/^/w+$/;
//变量,字母打头的任意数字字母组合
PatternsDict.variable=/^[a-zA-Z]/w*$/;
//身份证,要求必须15位或者18位的数字
PatternsDict.identity=/^(/d{15}|/d{18})$/;
//成绩,最高100
PatternsDict.mark100=/^(/d{1}|[1-9]/d{1}|100)$/;
//成绩,最高120
PatternsDict.mark120=/^(/d{1}|[1-9]/d{1}|1[0-1]/d{1}|120)$/;
//成绩,最高150
PatternsDict.mark150=/^(/d{1}|[1-9]/d{1}|1[0-4]/d{1}|150)$/;
//指定检验Form的名称,若验证通过则返回true
function validateForm(theForm)
{
var elArr = theForm.elements; //将表单中的所有元素放入数组
for(var i = 0; i < elArr.length; i++)
{ // 对于表单中的每一个元素...
with(elArr[i])
{ var v = elArr[i].validator; // 获取其validator属性
if(!v) continue; // 如果该属性不存在,忽略当前元素
var thePat = PatternsDict[v]; // 选择验证用的正则表达式
var gotIt = thePat.test(value); // 用正则表达式验证elArr[i]的值
if(!gotIt)
{
if(v.toLowerCase() == "empty")
{
//报错 alert("内容不可以为空,请重新填写!");
}
else
{
//报错
alert("输入值:" + value + "格式不正确!");
}
//聚焦
focus();
//选中文本内容
select();
return false;
}
}
}
return true;
}