一个比较好用的JS效验
/**
* 数据校验的javascript函数
* By 最后一支烟
*/
//消除输入字符串前后的半角和全角空格
function Trim(str){
str=str.replace(/(^[/s/u3000]*)|([/s/u3000]*$)/g, "");
return str;
}
//去左空格,只能去除半角
function ltrim(s){
return s.replace( /^/s*/, "");
}
//去右空格,只能去除半角
function rtrim(s){
return s.replace( //s*$/, "");
}
//去左右空格,只能去除半角
function trim(s){
return rtrim(ltrim(s));
}
//是否为空值;
function IsEmpty(_str){
var tmp_str = Trim(_str);
return tmp_str.length === 0;
}
//是否有效的正整数;
function IsPositiveInteger(_str){
var tmp_str = Trim(_str);
var pattern = /^[0-9]*[1-9][0-9]*$/;
return pattern.test(tmp_str);
}
//是否有效的非正整数
function IsNonPositiveInteger (_str){
var tmp_str = Trim(_str);
var pattern = /^((-/d+)|(0+))$/;
return pattern.test(tmp_str);
}
//是否有效的负整数
function IsNegativeInteger(_str){
var tmp_str = Trim(_str);
var pattern = /^((-/d+)|(0+))$/;
return pattern.test(tmp_str);
}
//是否有效的非负整数
function IsNonNegativeInteger(_str){
var tmp_str = Trim(_str);
var pattern = /^/d+$/;
return pattern.test(tmp_str);
}
//是否有效的整数
function IsInteger(_str){
var tmp_str = Trim(_str);
var pattern = /^-?/d+$/;
return pattern.test(tmp_str);
}
//是否有效的正浮点数
function IsPositiveFloat(_str){
var tmp_str = Trim(_str);
var pattern = /^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
return pattern.test(tmp_str);
}
//是否有效的非正浮点数
function IsNonPositiveFloat(_str){
var tmp_str = Trim(_str);
var pattern = /^((-/d+(/./d+)?)|(0+(/.0+)?))$/;
return pattern.test(tmp_str);
}
//是否有效的负浮点数
function IsNegativeFloat(_str){
var tmp_str = Trim(_str);
var pattern = /^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;
return pattern.test(tmp_str);
}
//是否有效的非负浮点数
function IsNonNegativeFloat(_str){
var tmp_str = Trim(_str);
var pattern = /^/d+(/./d+)?$/;
return pattern.test(tmp_str);
}
//是否有效的浮点数
function IsFloat(_str){
var tmp_str = Trim(_str);
var pattern = /^(-?/d+)(/./d+)?$/;
return pattern.test(tmp_str);
}
//是否有效的大写字母组合
function IsCapitalLetter(_str){
var tmp_str = Trim(_str);
var pattern = /^[A-Z]+$/;
return pattern.test(tmp_str);
}
//是否有效的小写字母组合
function IsLowercaseLetter(_str){
var tmp_str = Trim(_str);
var pattern = /^[a-z]+$/;
return pattern.test(tmp_str);
}
//是否有效的小写字母组合
function IsLetter(_str){
var tmp_str = Trim(_str);
var pattern = /^[A-Za-z]+$/;
return pattern.test(tmp_str);
}
//是否有效的大写字母和数字的组合
function IsCapitalLetterDigit(_str){
var tmp_str = Trim(_str);
var pattern = /^[A-Z0-9]+$/;
return pattern.test(tmp_str);
}
//是否有效的小写字母和数字的组合
function IsLowercaseLetterDigit(_str){
var tmp_str = Trim(_str);
var pattern = /^[a-z0-9]+$/;
return pattern.test(tmp_str);
}
//是否有效的字母和数字的组合
function IsLetterDigit(_str){
var tmp_str = Trim(_str);
var pattern = /^[A-Za-z0-9]+$/;
return pattern.test(tmp_str);
}
//是否有效的字母和数字以及下划线的组合
function IsAccount(_str){
var tmp_str = Trim(_str);
var pattern = /^/w+$/;
return pattern.test(tmp_str);
}
//是否有效的Email地址
function IsEmail(_str){
var tmp_str = Trim(_str);
var pattern = /^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$/;
return pattern.test(tmp_str);
}
//是否有效的Url地址
function IsUrl(url){
var sTemp;
var b=true;
sTemp=url.substring(0,7);
sTemp=sTemp.toUpperCase();
if ((sTemp!="XXXX://")||(url.length<10)){ //xxxx是HTTP
b=false;
}
return b;
}
//是否有效的颜色值;
function IsColor(color){
var temp=color;
if (temp===""){
return true;
}
if (temp.length!=7){
return false;
}
return (temp.search(//#[a-fA-F0-9]{6}/) != -1);
}
//是否有效的手机号码;
function IsMobile(_str){
var tmp_str = Trim(_str);
var pattern = /13/d{9}/;
return pattern.test(tmp_str);
}