</pre><pre name="code" class="html">/****************************/
/*********1.数字的验证*******/
/***************************/
/**
* 检查输入的一串字符是否全部是数字
*/
function checkNum(str) {
return str.match(/\D/) == null;
}
/**
* 检查输入的一串字符是否为小数
*/
function checkDecimal(str) {
if (str.match(/^-?\d+(\.\d+)?$/g) == null) {
return false;
} else {
return true;
}
}
/**
* 检查输入的一串字符是否为整型数据
*/
function checkInteger(str) {
if (str.match(/^[-+]?\d*$/) == null) {
return false;
} else {
return true;
}
}
/****************************/
/*********2.字符的验证*******/
/***************************/
/**
* 去掉字符串头尾空格
*/
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}
/**
* 检查输入的一串字符是否是字符
*/
function checkStr(str) {
if (/[^\x00-\xff]/g.test(str)) {
return false;
} else {
return true;
}
}
/**
* 检查输入的一串字符是否包含汉字
*/
function checkChinese(str) {
if (escape(str).indexOf("%u") != -1) {
return true;
} else {
return false;
}
}
/**
* 检查输入的邮箱格式是否正确
*/
function checkEmail(str) {
if (str
.match(/[A-Za-z0-9_-]+[@](\S*)(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*)/g) == null) {
return false;
} else {
return true;
}
}
/**
* 检查输入的手机号码格式是否正确
*/
function checkMobilePhone(str) {
if (str.match(/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/) == null) {
return false;
} else {
return true;
}
}
/**
* 检查输入的固定电话号码是否正确
*/
function checkTelephone(str) {
if (str.match(/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/) == null) {
return false;
} else {
return true;
}
}
/**
* 检查QQ的格式是否正确
*/
function checkQQ(str) {
if (str.match(/^\d{5,10}$/) == null) {
return false;
} else {
return true;
}
}
/**
* 检查输入的IP地址是否正确
*/
function checkIP(str) {
var arg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
if (str.match(arg) == null) {
return false;
} else {
return true;
}
}
/**
* 检查输入的URL地址是否正确
*/
function checkURL(str) {
if (str.match(/(http[s]?|ftp):\/\/[^\/\.]+?\..+\w$/i) == null) {
return false
} else {
return true;
}
}
/**
* 检查输入的字符是否具有特殊字符
*/
function checkQuote(str) {
var items = new Array("~", "`", "!", "@", "#", "$", "%", "^", "&", "*",
"{", "}", "[", "]", "(", ")");
items.push(":", ";", "'", "|", "\\", "<", ">", "?", "/", "<<", ">>", "||",
"//");
items.push("admin", "administrators", "administrator", "管理员", "系统管理员");
items.push("select", "delete", "update", "insert", "create", "drop",
"alter", "trancate");
str = str.toLowerCase();
for (var i = 0; i < items.length; i++) {
if (str.indexOf(items[i]) >= 0) {
return true;
}
}
return false;
}
/*****************************/
/*******身份证号码的验证******/
/***************************/
/**
* 检查输入的一串字符是否为身份证的验证的判断。
*/
function checkCard(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;
}
/**
* 通过身份证判断是男是女
*
* @param idCard
* 15/18位身份证号码
* @return true-女、false-男
*/
function checkMaleOrFemal(str) {
str = trim(str.replace(/ /g, ""));
// 对身份证号码做处理。包括字符间有空格。
if (str.length == 15) {
if (str.substring(14, 15) % 2 == 0) {
return true;
} else {
return false;
}
} else if (str.length == 18) {
if (str.substring(14, 17) % 2 == 0) {
return true;
} else {
return false;
}
} else {
return null;
}
}
/****************************/
/*********时间的验证*********/
/***************************/
/**
* 检查输入的一串字符是否为短时间,形如 (13:04:06)
*/
function checkTime(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;
}
/**
* 检查输入的一串字符是否为短日期,形如 (2003-12-05)
*/
function checkDate(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]);
}
/**
* 检查输入的一串字符是否为长时间,形如 (2003-12-05 13:04:06)
*/
function checkFullTime(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]);
}
/****************************/
/*********表单的验证*********/
/***************************/
/**
* 校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串。
*/
function isRegisterUserName(s) {
var patrn = /^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/;
if (!patrn.exec(s))
return false
return true
}
/**
* 验用户姓名:只能输入1-30个以字母开头的字串。
*/
function isTrueName(s) {
var patrn = /^[^`~!@#$%^&*()+-=|\\\[\]\{\}:;\'\,.<>/? 0-9]{2,19}$/;
if (!patrn.exec(s))
return false
return true
}
/**
* 校验密码:只能输入6-15个字母、数字。
*/
function isPasswd(s) {
var patrn = /^[a-zA-Z0-9]{6,15}$/;
if (!patrn.exec(s))
return false
return true
}
/**
* 检验体重。
*/
function isAvoirdupois(s) {
var patrn = /^[1-9]{1}[0-9]{0,2}$/;
var patrn2 = /^[1-9]{1}$/;
var intPart = s.indexOf('.');
var decPart = s.lastIndexOf('.');
if (intPart == -1 && patrn.exec(s) && eval(s) >= 2 && eval(s) <= 200)
return true
if (intPart != decPart || intPart == 0 || intPart + 2 != s.length)
return false
if (!patrn.exec(s.substring(0, intPart))
|| !patrn2.exec(s.substring(decPart + 1)))
return false
if (eval(s) < 2 || eval(s) > 200)
return false
return true
}
/**
* 校验邮政编码。
*/
function isPostalCode(s) {
var patrn = /^[1-9]{1}(\d){5}$/;
if (!patrn.exec(s))
return false
return true
}
/**
* 校验搜索关键字。
*/
function isSearch(s) {
var patrn = /^[^`~!@#$%^&*()+=|\\\[\]\{\}:;\'\,.<>/? ]{1}[^`~!@$%^&()+=|\\\[\]\{\}:;\'\,.<>?]{0,19}$/;
if (!patrn.exec(s))
return false
return true
}
/**
* 检验页码是否正确。
*/
function isPage(s) {
var patrn = /^[1-9]{1}[0-9]{0,2}$/;
if (!patrn.exec(s))
return false
return true
}
/**
* 表单输入值错误提示。
*/
function vErr(o, s) {
alert(s);
if (o)
o.focus();
return false;
}
/**
* 表单的值不能为空。
*/
function isNull(elem) {
if (elem.replace(/(^\s+|\s$)/g, "") == "") {
return false;
} else {
return true;
}
}
/**
* 不能超过imax字符。
*/
function imax(elem) {
if (elem.length > imax) {
return false;
} else {
return true;
}
}
/**
* 不能少于imix字符。
*/
function imix(elem) {
if (elem.lengthreturn) {
false;
} else {
return true;
}
}
/**
* 输入为中文判断。
*/
function isChinese(elem) {
var pattern = /[^\x00-\xff]/g;
if (pattern.test(elem)) {
// 包含中文
return false;
} else {
// 不包含中文
return true;
}
}
/**
* 复选框的全选,全不选。
*/
function checkAll(str) {
var a = document.getElementsByName(str);
var n = a.length;
for (var i = 0; i < n; i++){
a[i].checked = window.event.srcElement.checked;
}
}
/**
* 复选框的单选。
*/
function checkItem(str) {
var e = window.event.srcElement;
var all = eval("document.all." + str);
if (e.checked) {
var a = document.getElementsByName(e.name);
all.checked = true;
for (var i = 0; i < a.length; i++) {
if (!a[i].checked) {
all.checked = false;
break;
}
}
} else{
all.checked = false;
}
}
/**
* 判断单选。
*/
function chkRadio(o) {
for (i = 0; i < o.length; i++) {
if (o[i].checked)
return true;
}
return false;
}