故事前提:
自己项目中需要用到验证表单各种规则的验证,什么不能为空、多少个字符(当然这些都是最常见的咯),其次就是手机号码,固定电话号码,邮箱,URL地址合法性验证,数字验证,等等。师弟们抱怨每个新页面都要复制重写赶脚麻烦,封装下,不费事,顺便可以记录下,方便后用!
封装下:
ar formUtil = {
errorMessage : {
usernameCode : "用户名只能是字母数字下划线组成,长度为4-18",
passwordCode : "密码只能是字母数字下划线组成,长度为4-18",
cellPhoneCode : "手机号码不正确",
telephoneCode : "固定电话不正确",
emailCode : "邮箱地址不正确",
numberCode : "请输入数字",
notAllowEmpty : "不能为空"
},
elementNotEmpty : function( value ) {
if( !!value ) {
return true;
}
return false;
},
elementNotValideUsername : function( value , regex ) {
if( !value ) {
return false;
}
if( !regex ) {//字母开头,数字和下划线组成的用户名
regex = /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;
}
return regex.test(value);
},
elementNotValidePwd : function( value , regex ) {
if( !value ) {
return false;
}
if( !regex ) {//合法的密码
regex = /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;
}
return regex.test(value);
},
elementNotEmail : function( value ) {//邮箱格式,这个还算简单,更强大的太复杂了,这个够用了吧
var regex = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
return regex.test( value );
},
elementNotCellPhoneNum : function ( value ) {//手机号码,支持170号段
var regex = /^1[3|4|5|7|8][0-9]\d{4,8}/;
return regex.test( value );
},
elementNotPhoneNum : function( value ) {//支持固定电话格式验证,包括区号位数为3、4、5(比如长株潭区号,城市一体化,未来趋势,哈哈……代码也要跟上)
var regex = /^\d{3}-?\d{8}|\d{4}-?\d{7}|\d{4}-?\d{8}$/;
return regex.test( value );
},
elementNotValideNumber : function( value ) {
var regex = /^\d+$/;
return regex.test( value );
},
elementValidUrl : function( url ) {//会自动截短#hash属性值
var regex = /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/gi;
return regex.test(url);
}
};
还有很多很好玩的正则表达式,慢慢补充!
-----------------------------------------------------保持不断学习的步伐--------------------------------------