JavaScript常用正则表达式

来源:互联网 发布:jsonp json 区别 编辑:程序博客网 时间:2024/04/29 14:48

/**

 *校验模块,提供常用的检验方法

 *该模块不依赖其它环境

 */

HUI.define("com.validation", function(requires, validation) {

//邮箱正则

var REG_EMAIL=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

//验证邮箱地址

validation.checkEmail=function(str){

return REG_EMAIL.exec(str);

}

//验证国内电话(支持分机号)

var REG_TEL=/^(0[0-9]{2,3}\-)?([1-9][0-9]{4,7})+(\-[0-9]{1,4})?$/;

validation.checkTel=function(str){

return REG_TEL.exec(str);

}

//验证国内手机号

var REG_PHONE=/^(0|86|17951)?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/;

validation.checkPhone=function(str){

return REG_PHONE.exec(str);

}

//验证整数

var REG_INTEGER=/^-?(([1-9]\d*)|0)$/;

validation.checkInteger=function(str){

return REG_INTEGER.exec(str);

}

//验证非负数(浮点数默认精确到4位)

validation.checkNonnegative=function(str,decimal){

if(!decimal){

decimal=4;

}

var REG_NONNEGATIVE =new RegExp("^(([1-9][0-9]*)|0)(.[0-9]{1,"+decimal+"})?$");

return REG_NONNEGATIVE.exec(str);

}

//验证常用用户名(以字母开头,允许5-16字节,允许字母数字下划线)

var REG_USERNAME=/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;

validation.checkUserName=function(str){

return REG_USERNAME.exec(str);

}

//验证常用密码(允许6-18字节,允许字母数字下划线及特殊字符.@!$%*#)

var REG_PWD=/^([a-zA-Z0-9]|\.|@|\!|\$|%|\*|#){5,17}$/;

validation.checkPwd=function(str){

return REG_PWD.exec(str);

}

//验证身份证

var REG_IDCARD=/^\d{18}$|^\d{17,18}[a-zA-Z]{1}$|^\d{15}$/;

validation.checkIDCard=function(str){

return REG_IDCARD.exec(str);

}

//验证QQ号码

var REG_QQ=/^[1-9][0-9]{4,}$/;

validation.checkQQ=function(str){

return REG_QQ.exec(str);

}

//验证邮政编码

var REG_ZIPCODE=/^[1-9]\d{5}(?!\d)$/;

validation.checkZipCode=function(str){

return REG_ZIPCODE.exec(str);

}

//验证是否包含HTML标记

var REG_HTML=/<(\S*?)[^>]*>.*?<\/\1>|<.*? \/>/;

validation.checkHTML=function(str){

return REG_HTML.exec(str);

}

//验证网址URL

var REG_URL=/^[a-zA-z]+:\/\/[^\s]*$/;

validation.checkURL=function(str){

return REG_URL.exec(str);

}

//验证IP

var REG_IP=/^\d+\.\d+\.\d+\.\d+$/;

validation.checkIP=function(str){

return REG_IP.exec(str);

}

//验证是否包含中文或中文字符

var REG_CHCHAR=/[^\x00-\xff]/;

validation.checkCHChar=function(str){

return REG_CHCHAR.exec(str);

}

//验证VISA卡号

var REG_VISA=/^(4\d{12}(?:\d{3})?)$/;

validation.checkVISA=function(str){

return REG_VISA.exec(str);

}

//验证是否有效日期格式,如2000(./- 年)1(01)(./- 月)1(01)(日)

var REG_DATE=/^(\d{4})(\.|\/|\-|\s|\u5E74)?(\d{1,2})(\.|\/|\-|\s|\u6708)?(\d{1,2})(\s|\u65E5)?$/;

validation.checkDate=function(str){

str=str.replace(REG_DATE,function(){

return RegExp.$1+"-"+(RegExp.$3.length==1?"0"+RegExp.$3:RegExp.$3)+"-"+(RegExp.$5.length==1?"0"+RegExp.$5:RegExp.$5);

});

return String(new Date(str)).toLowerCase()=="invalid date"?false:true;

}

//验证是否有效时间格式,如23:59:59

var REG_TIME=/^(([0-1][0-9])|(2[0-3]))(:|:|\s)([0-5][0-9])(:|:|\s)([0-5][0-9])$/;

validation.checkTime=function(str){

str=str.replace(/^(\d+).*?(\d+).*?(\d+)$/,function(){

return (RegExp.$1.length==1?"0"+RegExp.$1:RegExp.$1)+":"+(RegExp.$2.length==1?"0"+RegExp.$2:RegExp.$2)+":"+(RegExp.$3.length==1?"0"+RegExp.$3:RegExp.$3);

});

return REG_TIME.test(str);

}

});


原创粉丝点击