; (function(root, factory) { 
if (typeof exports === /object/ && typeof module != /undefined/) { 
module.exports = factory(); 
} else if (typeof define === /function/ && define.amd) { 
define(factory); 
} else { 
root.RegexExpress = factory(); 
} 
}(this, function(root, undefined) { 
var RegexExpress = function() {} 
var config = { 
//汉字 
isZH_CN: /^[\u4e00-\u9fa5]{0,}$/, 
//英文和数字 
isEnOrDigit: /^[A-Za-z0-9]+$/, 
//长度为3-20的所有字符,
 isChar3_20: /^.{3,20}$/, 
//由26个英文字母组成的字符串 
isEn: /^[A-Za-z]+$/, 
//由26个大写英文字母组成的字符串 
isEnAndUpper: /^[A-Z]+$/, 
//由26个小写英文字母组成的字符串 
isEnAndLower: /^[a-z]+$/, 
//由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$ 
isDigitOrEnOr_Fixed: /^\w+$/, 
//中文、英文、数字包括下划线 
isZhOrEnOrDigitOr_Fixed: /^[\u4E00-\u9FA5A-Za-z0-9_]+$/, 
//中文、英文、数字但不包括下划线等符号 ^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$ 
 isZhOrEnOrDigitFixed: /^[\u4E00-\u9FA5A-Za-z0-9]+$/, 
//输入含有^%&/,;=?$\ 
isContainIllegalChar: /[^%&\/,;=?$\x22]+/, 
//Email地址 
isEmail: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, 
//域名 
isDomain: /[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\/.?/, 
//[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
isInternetURL: /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?$/, 
//手机号码 
isPhone: /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/, 
//身份证号(15位、18位数字) 
isIDCard: /^\d{15}|\d{18}$/, 
//^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$ 
isShortIDCard: /^([0-9]){7,18}(x|X)?$/, 
//帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线) 
isIllegalUserName: /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/, 
//密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线) 
isPwd: /^[a-zA-Z]\w{5,17}$/, 
//强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间) 
isPowerPwd: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/, 
//日期格式 
isDate: /^\d{4}-\d{1,2}-\d{1,2}/, 
//(01~09和10~12) 
isMonth: /^(0?[1-9]|1[0-2])$/, 
//一个月的31天(01~09和10~31) 
isDay: /^((0?[1-9])|((1|2)[0-9])|30|31)$/, 
//金钱 
isMoney: /^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$/, 
//xml 
isXml: /^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$/, 
//(包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)) 
isDoubleByte: /[^\x00-\xff]/, 
//空白字符 
isWritespace: /[\s+]/, 
// (腾讯QQ号从10000开始) 
isQQ: /[1-9][0-9]{4,}/, 
//(中国邮政编码为6位数字) 
isZipCode: /[1-9]\d{5}(?!\d)/, 
//IP 
isIpaddress: /((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/,
 }; 
RegexExpress.prototype = { 
isZH_CN: function(str) { 
return config.isZH_CN.test(str); 
}, 
isEnOrDigit: function(str) { 
return config.isEnOrDigit.test(str); 
}, 
isChar3_20: function(str) {
 return config.isChar3_20.test(str); 
}, 
isEn: function(str) { 
return config.isEn.test(str); 
}, 
isEnAndUpper: function(str) { 
return config.isEnAndUpper.test(str); 
}, 
isEnAndLower: function(str) { 
return config.isEnAndLower.test(str); 
}, 
isDigitOrEnOr_Fixed: function(str) { 
return config.isDigitOrEnOr_Fixed.test(str); 
}, 
isZhOrEnOrDigitOr_Fixed: function(str) { 
return config.isZhOrEnOrDigitOr_Fixed.test(str); 
}, 
isZhOrEnOrDigitFixed: function(str) {
 return config.isZhOrEnOrDigitFixed.test(str); 
}, 
isContainIllegalChar: function(str) { 
return config.isContainIllegalChar.test(str); 
}, 
isEmail: function(str) { 
return config.isEmail.test(str); 
}, 
isDomain: function(str) { 
return config.isDomain.test(str); 
}, 
isInternetURL: function(str) { 
return config.isInternetURL.test(str); 
}, 
isPhone: function(str) { 
return config.isPhone.test(str); 
}, 
isIDCard: function(str) { 
return config.isIDCard.test(str); 
}, 
isShortIDCard: function(str) { 
return config.isShortIDCard.test(str); 
}, 
isIllegalUserName: function(str) { 
return config.isIllegalUserName.test(str); 
}, 
isPwd: function(str) { 
return config.isPwd.test(str); 
}, 
isPowerPwd: function(str) { 
return config.isPowerPwd.test(str); 
}, 
isDate: function(str) { 
return config.isDate.test(str); 
}, 
isMonth: function(str) { 
return config.isMonth.test(str); 
}, 
isDay: function(str) { 
return config.isDay.test(str); 
}, 
isMoney: function(str) { 
return config.isMoney.test(str); 
}, 
isXml: function(str) { 
return config.isXml.test(str); 
}, 
isDoubleByte: function(str) { 
return config.isDoubleByte.test(str); 
}, 
isWritespace: function(str) { 
return config.isWritespace.test(str); 
}, 
isQQ: function(str) { 
return config.isQQ.test(str); 
}, 
isZipCode: function(str) { 
return config.isZipCode.test(str); 
}, 
isIpaddress: function(str) { 
return config.isIpaddress.test(str); 
}, 
} return RegexExpress; 
}));

转载自::http://xiaowiba.com/index.php/archives/981/

Last modification:November 25, 2018
If you think my article is useful to you, please feel free to appreciate