经常用到的javascript验证函数收集
作者:
经常用到的javascript验证函数收集
建议大家收藏javascript验证函数,以后遇到就可以直接拿来用了
/*
==================================================================
是否为空,只判断字符串
null或0长为空,经过trim
IsStringNull(string)
==================================================================
*/
function IsStringNull(str) {
if (str == null)
return true;
var trimStr = Trim(str);
if (trimStr.length == 0)
return true;
return false;
}
/*
==================================================================
LTrim(string):去除左边的空格
==================================================================
*/
function LTrim(str) {
var whitespace = new String(" \t\n\r");
var s = new String(str);
if (whitespace.indexOf(s.charAt(0)) != -1) {
var j = 0, i = s.length;
while (j < i && whitespace.indexOf(s.charAt(j)) != -1) {
j++;
}
s = s.substring(j, i);
}
return s;
}
/*
==================================================================
RTrim(string):去除右边的空格
==================================================================
*/
function RTrim(str) {
var whitespace = new String(" \t\n\r");
var s = new String(str);
if (whitespace.indexOf(s.charAt(s.length - 1)) != -1) {
var i = s.length - 1;
while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1) {
i--;
}
s = s.substring(0, i + 1);
}
return s;
}
/*
==================================================================
Trim(string):去除前后空格
==================================================================
*/
function Trim(str) {
return RTrim(LTrim(str));
}
/*
==================================================================
IsOutOfLength(string,int):判断字符串是长度是否超出长度,中文为2个字符
==================================================================
*/
function IsOutOfLength(str, len) {
var strLength = 0;
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 256) {
strLength++;
}
strLength++;
if (strLength > len) {
return true;
}
}
return false;
}
/*
==================================================================
IsOutOfLength(string,int):判断字符串是长度是否超出长度,中文为3个字符
==================================================================
*/
function IsOutOfLength3(str, len) {
var cArr = str.match(/[^\x00-\xff]/ig);
var len_address = str.length + (cArr == null ? 0 : cArr.length * 2);
if (len_address > len)
return true;
else
return false;
}
/*
==================================================================
IsNumeric(string):判断字符串是是否为数字
==================================================================
*/
function IsNumeric(strNumber) {
if (strNumber.length == 0) {
return false;
}
return (strNumber.search(/^(-|\+)?\d+(\.\d+)?$/) != -1);
}
/*
==================================================================
IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0
=================================================================
*/
function IsInt(objStr, sign, zero) {
var reg;
var bolzero;
if (Trim(objStr) == "") {
return false;
}
else {
objStr = objStr.toString();
}
if ((sign == null) || (Trim(sign) == "")) {
sign = "+-";
}
if ((zero == null) || (Trim(zero) == "")) {
bolzero = false;
}
else {
zero = zero.toString();
if (zero == "0") {
bolzero = true;
}
else {
alert("检查是否包含0参数,只可为(空、0)");
}
}
switch (sign) {
case "none":
if (!bolzero) {
reg = /^[0-9]*[1-9][0-9]*$/;
}
else {
reg = /^[0-9]*[0-9][0-9]*$/;
}
break;
case "+-":
//整数
reg = /(^-?|^\+?)\d+$/;
break;
case "+":
if (!bolzero) {
//正整数
reg = /^\+?[0-9]*[1-9][0-9]*$/;
}
else {
//正整数+0
//reg=/^\+?\d+$/;
reg = /^\+?[0-9]*[0-9][0-9]*$/;
}
break;
case "-":
if (!bolzero) {
//负整数
reg = /^-[0-9]*[1-9][0-9]*$/;
}
else {
//负整数+0
//reg=/^-\d+$/;
reg = /^-[0-9]*[0-9][0-9]*$/;
}
break;
default:
alert("检查符号参数,只可为(空、+、-)");
return false;
break;
}
var r = objStr.match(reg);
if (r == null) {
return false;
} else {
return true;
}
}
/*
==================================================================
checkIsValidDate(string)
功能:判断是否为正确的日期类型。必须为yyyy-MM-dd
=================================================================
*/
function checkIsValidDate(str) {
//如果为空,则通过校验
if (str == "")
return true;
var pattern = /^\d{4}\/\d{1,2}\/\d{1,2}$/g;
if (!pattern.test(str))
return false;
//alert("【" +str+"】1");
var arrDate = str.split("/");
var date = new Date(arrDate[0], (parseInt(arrDate[1], 10) - 1) + "", parseInt(arrDate[2], 10) + "");
//alert("a:【" +date.getFullYear()+"】【" + date.getMonth() + "】【" + date.getDate() + "】");
//alert("b:【" +arrDate[0]+"】【" + parseInt(arrDate[1],10) + "】【" + parseInt(arrDate[2],10) + "】");
if (date.getFullYear() == arrDate[0]
&& date.getMonth() == (parseInt(arrDate[1], 10) - 1) + ""
&& date.getDate() == parseInt(arrDate[2], 10) + "")
return true;
else
//alert("【" +str+"】2");
return false;
}
/*
==================================================================
checkIsValidTime(string)
功能:判断是否为正确的时间类型。必须为hh:mm:ss
=================================================================
*/
function checkIsValidTime(str) {
//如果为空,则通过校验
if (str == "")
return true;
var pattern = /^\d{1,2}:\d{1,2}:\d{1,2}$/g;
if (!pattern.test(str))
return false;
//alert("【" +str+"】1");
return true;
}
/*
==================================================================
CheckedCount(containForm,chkFormName):计算一个form中选中相的数目
check表单包括radiobox和checkbox
参数:包含check项的form,check表单的名称
==================================================================
*/
function CheckedCount(containForm, chkFormName) {
var chkCount = 0;
for (i = 0; i < containForm.elements.length; i++) {
if (containForm.elements[i].name == chkFormName) {
if (containForm.elements[i].type == 'checkbox' || containForm.elements[i].type == 'radio') {
if (containForm.elements[i].checked) {
chkCount++;
}
}
}
}
return chkCount;
}
/**
* 判断是不是有效的email地址
*/
function IsValidateEmail(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return false;
}
//正则表达式
//var pattern = /^\w{1,}@[\.,\w]{1,}$/;
var pattern = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if (!pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的汉字
*/
function checkIsHanzi(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /[^\u4E00-\u9FA5]/g;
if (pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的英文字母+(空格)
*/
function checkIsLetter(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /[^a-zA-Z\s]/g;
if (pattern.test(str)) {
return false;
}
return true;
}
/**
*判断是不是有效的英文字母+(空格或点)
*/
function checkIsLetterOrSpaceDot(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /[^a-zA-Z\s\.]/g;
if (pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的英文字母和数字
*/
function checkIsLetterNumber(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /[^a-zA-Z0-9\s]/g;
if (pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的数字(检查证件号码,密码用)
*/
function checkIsNumber(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /[^0-9\s]/g;
if (pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的百分比数字
*/
function checkIsPercent(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /^[1-9][0-9]*%$/g;
if (!pattern.test(str)) {
return false;
}
return true;
}
/**
* check is validate time
*/
function isValidateTime(str) {
if (parseInt(str) == 0) {
return true;
}
var regexp = /^(([0-9])|(0[0-9])|(1[0-9])|(2[0-3]))[0-5][0-9]$/
if (str == "" || str.length == 0) {
return false;
}
if (!regexp.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的手机号码
* 格式正确返回true,否则false.
*/
function IsValidateMobile(str) {
var pattern = /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/;
if (str == '' || str.length == 0) {
return false;
}
if (!pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的电话号码;
* 电话号码格式正确返回true,否则false.
*/
function IsValidatePhone(str) {
var pattern = /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;
if (str == '' || str.length == 0) {
return false;
}
if (!pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的邮政编码;
* 格式正确返回true,否则false.
*/
function IsValidateZipcode(str) {
var pattern = /^[1-9]\d{5}$/;
if (str == '' || str.length == 0) {
return false;
}
if (!pattern.test(str)) {
return false;
}
return true;
}
/*
==================================================================
是否为空,只判断字符串
null或0长为空,经过trim
IsStringNull(string)
==================================================================
*/
function IsStringNull(str) {
if (str == null)
return true;
var trimStr = Trim(str);
if (trimStr.length == 0)
return true;
return false;
}
/*
==================================================================
LTrim(string):去除左边的空格
==================================================================
*/
function LTrim(str) {
var whitespace = new String(" \t\n\r");
var s = new String(str);
if (whitespace.indexOf(s.charAt(0)) != -1) {
var j = 0, i = s.length;
while (j < i && whitespace.indexOf(s.charAt(j)) != -1) {
j++;
}
s = s.substring(j, i);
}
return s;
}
/*
==================================================================
RTrim(string):去除右边的空格
==================================================================
*/
function RTrim(str) {
var whitespace = new String(" \t\n\r");
var s = new String(str);
if (whitespace.indexOf(s.charAt(s.length - 1)) != -1) {
var i = s.length - 1;
while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1) {
i--;
}
s = s.substring(0, i + 1);
}
return s;
}
/*
==================================================================
Trim(string):去除前后空格
==================================================================
*/
function Trim(str) {
return RTrim(LTrim(str));
}
/*
==================================================================
IsOutOfLength(string,int):判断字符串是长度是否超出长度,中文为2个字符
==================================================================
*/
function IsOutOfLength(str, len) {
var strLength = 0;
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 256) {
strLength++;
}
strLength++;
if (strLength > len) {
return true;
}
}
return false;
}
/*
==================================================================
IsOutOfLength(string,int):判断字符串是长度是否超出长度,中文为3个字符
==================================================================
*/
function IsOutOfLength3(str, len) {
var cArr = str.match(/[^\x00-\xff]/ig);
var len_address = str.length + (cArr == null ? 0 : cArr.length * 2);
if (len_address > len)
return true;
else
return false;
}
/*
==================================================================
IsNumeric(string):判断字符串是是否为数字
==================================================================
*/
function IsNumeric(strNumber) {
if (strNumber.length == 0) {
return false;
}
return (strNumber.search(/^(-|\+)?\d+(\.\d+)?$/) != -1);
}
/*
==================================================================
IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0
=================================================================
*/
function IsInt(objStr, sign, zero) {
var reg;
var bolzero;
if (Trim(objStr) == "") {
return false;
}
else {
objStr = objStr.toString();
}
if ((sign == null) || (Trim(sign) == "")) {
sign = "+-";
}
if ((zero == null) || (Trim(zero) == "")) {
bolzero = false;
}
else {
zero = zero.toString();
if (zero == "0") {
bolzero = true;
}
else {
alert("检查是否包含0参数,只可为(空、0)");
}
}
switch (sign) {
case "none":
if (!bolzero) {
reg = /^[0-9]*[1-9][0-9]*$/;
}
else {
reg = /^[0-9]*[0-9][0-9]*$/;
}
break;
case "+-":
//整数
reg = /(^-?|^\+?)\d+$/;
break;
case "+":
if (!bolzero) {
//正整数
reg = /^\+?[0-9]*[1-9][0-9]*$/;
}
else {
//正整数+0
//reg=/^\+?\d+$/;
reg = /^\+?[0-9]*[0-9][0-9]*$/;
}
break;
case "-":
if (!bolzero) {
//负整数
reg = /^-[0-9]*[1-9][0-9]*$/;
}
else {
//负整数+0
//reg=/^-\d+$/;
reg = /^-[0-9]*[0-9][0-9]*$/;
}
break;
default:
alert("检查符号参数,只可为(空、+、-)");
return false;
break;
}
var r = objStr.match(reg);
if (r == null) {
return false;
} else {
return true;
}
}
/*
==================================================================
checkIsValidDate(string)
功能:判断是否为正确的日期类型。必须为yyyy-MM-dd
=================================================================
*/
function checkIsValidDate(str) {
//如果为空,则通过校验
if (str == "")
return true;
var pattern = /^\d{4}\/\d{1,2}\/\d{1,2}$/g;
if (!pattern.test(str))
return false;
//alert("【" +str+"】1");
var arrDate = str.split("/");
var date = new Date(arrDate[0], (parseInt(arrDate[1], 10) - 1) + "", parseInt(arrDate[2], 10) + "");
//alert("a:【" +date.getFullYear()+"】【" + date.getMonth() + "】【" + date.getDate() + "】");
//alert("b:【" +arrDate[0]+"】【" + parseInt(arrDate[1],10) + "】【" + parseInt(arrDate[2],10) + "】");
if (date.getFullYear() == arrDate[0]
&& date.getMonth() == (parseInt(arrDate[1], 10) - 1) + ""
&& date.getDate() == parseInt(arrDate[2], 10) + "")
return true;
else
//alert("【" +str+"】2");
return false;
}
/*
==================================================================
checkIsValidTime(string)
功能:判断是否为正确的时间类型。必须为hh:mm:ss
=================================================================
*/
function checkIsValidTime(str) {
//如果为空,则通过校验
if (str == "")
return true;
var pattern = /^\d{1,2}:\d{1,2}:\d{1,2}$/g;
if (!pattern.test(str))
return false;
//alert("【" +str+"】1");
return true;
}
/*
==================================================================
CheckedCount(containForm,chkFormName):计算一个form中选中相的数目
check表单包括radiobox和checkbox
参数:包含check项的form,check表单的名称
==================================================================
*/
function CheckedCount(containForm, chkFormName) {
var chkCount = 0;
for (i = 0; i < containForm.elements.length; i++) {
if (containForm.elements[i].name == chkFormName) {
if (containForm.elements[i].type == 'checkbox' || containForm.elements[i].type == 'radio') {
if (containForm.elements[i].checked) {
chkCount++;
}
}
}
}
return chkCount;
}
/**
* 判断是不是有效的email地址
*/
function IsValidateEmail(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return false;
}
//正则表达式
//var pattern = /^\w{1,}@[\.,\w]{1,}$/;
var pattern = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if (!pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的汉字
*/
function checkIsHanzi(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /[^\u4E00-\u9FA5]/g;
if (pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的英文字母+(空格)
*/
function checkIsLetter(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /[^a-zA-Z\s]/g;
if (pattern.test(str)) {
return false;
}
return true;
}
/**
*判断是不是有效的英文字母+(空格或点)
*/
function checkIsLetterOrSpaceDot(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /[^a-zA-Z\s\.]/g;
if (pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的英文字母和数字
*/
function checkIsLetterNumber(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /[^a-zA-Z0-9\s]/g;
if (pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的数字(检查证件号码,密码用)
*/
function checkIsNumber(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /[^0-9\s]/g;
if (pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的百分比数字
*/
function checkIsPercent(str) {
//如果为空,则通过校验
if (str == "" || str.length == 0) {
return true;
}
//正则表达式
var pattern = /^[1-9][0-9]*%$/g;
if (!pattern.test(str)) {
return false;
}
return true;
}
/**
* check is validate time
*/
function isValidateTime(str) {
if (parseInt(str) == 0) {
return true;
}
var regexp = /^(([0-9])|(0[0-9])|(1[0-9])|(2[0-3]))[0-5][0-9]$/
if (str == "" || str.length == 0) {
return false;
}
if (!regexp.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的手机号码
* 格式正确返回true,否则false.
*/
function IsValidateMobile(str) {
var pattern = /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/;
if (str == '' || str.length == 0) {
return false;
}
if (!pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的电话号码;
* 电话号码格式正确返回true,否则false.
*/
function IsValidatePhone(str) {
var pattern = /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;
if (str == '' || str.length == 0) {
return false;
}
if (!pattern.test(str)) {
return false;
}
return true;
}
/**
* 判断是不是有效的邮政编码;
* 格式正确返回true,否则false.
*/
function IsValidateZipcode(str) {
var pattern = /^[1-9]\d{5}$/;
if (str == '' || str.length == 0) {
return false;
}
if (!pattern.test(str)) {
return false;
}
return true;
}