//如果文本中可以为空的为NO,文本中内容不为空
if (input.nullable == "no" || !isnull(input.value)) {
//文本中值的类型
switch (input.datatype) {
//数字
case "number":
//isnumber是否是数字,如果不是数字
if (isnumber(input.value) == false) {
//提示:应该是数字
alert(input.chname + "值应该全为数字");
return false;
}
break;
case "float":
if (/^(\-?)(\d+)(.{1})(\d+)$/.test(input.value) == false && isnumber(input.value) == false) {
alert(input.chname + "值应该全为数字或小数");
return false;
}
break;
case "text":
if (IsSafeQuerystring(input.value) == false) {
alert(input.chname + "值包含非法字符");
return false;
}
break;
case "email":
if (/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/.test(input.value) == false) {
alert(input.chname + "值应该为合法的邮件地址");
return false;
}
break;
case "mobile":
if (/^[0|1]{1,2}[3|5|8]\d{9}$/.test(input.value) == false) {
alert(input.chname + "不是合法的手机号码");
return false;
}
break;
case "telephone":
if (/(^\(\d{1,4}\)\d+-\d+(\*\d+)?$)|((^0\d{2,3}|^8\d{2})-\d{7,8}(\*[0-9]+)?$)/.test(input.value) == false) {
alert(input.chname + "不合法(格式:(国家代码)区号 - 号码 * 分机)");
return false;
}
break;
case "dropdown":
if (/请选择*/.test(input.options[input.options.selectedIndex].text) == true) {
alert(input.chname + "必须选择一个值");
return false;
}
break;
case "radio":
if (input.options.selectedIndex == -1) {
alert(input.chname + "必须选择一个值");
return false;
}
break;
case "hour":
if (isnumber(input.value) == false) {
alert(input.chname + "应该输入数字");
return false;
}
if (parseInt(input.value, 10) > 23 || parseInt(input.value, 10) < 0) {
alert(input.chname + "的数值应该在00和23之间");
return false;
}
if (strlen(input.value) != 2) {
alert(input.chname + "应输入两位数字");
return false;
}
break;
case "minute":
if (isnumber(input.value) == false) {
alert(input.chname + "应该输入数字");
return false;
}
if (parseInt(input.value, 10) > 59 || parseInt(input.value, 10) < 0) {
alert(input.chname + "的数值应该在00和59之间");
return false; }
if (strlen(input.value) != 2) {
alert(input.chname + "应输入两位数字");
return false;
}
break;
default: break;
}
}