本文实例讲述了JS正则表达式封装与使用操作。分享给大家供大家参考,具体如下:对一些
本文实例讲述了JS正则表达式封装与使用操作。分享给大家供大家参考,具体如下:
对一些简单的输入进行正则判断的整理,待优化
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>正则表达式封装</title>
</head>
<body>
<script>
//邮箱
var emailReg = /^([a-z0-9A-Z_]+[-|\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,}$/;
//手机号
var mobileReg = /^0?1(3|4|5|7|8)\d{9}$/;
//电话号码
var telReg = /(^[0-9]{3,4}-[0-9]{7,8}-[0-9]{3,4}$)|(^[0-9]{3,4}-[0-9]{7,8}$)|(^[0-9]{7,8}-[0-9]{3,4}$)|(^[0-9]{7,15}$)/;
var domainReg = /http:\/\/.+/;
var zipcodeReg = /^[0-9]{6}$/;
//数字
var numReg = /^[0-9]+$/;
//身份证
var isIDCardReg=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
//用户名
var userNameReg = /^[_a-zA-Z0-9\u4E00-\u9FFF]{2,20}/;
//中文
var zh = /[\u4E00-\u9FFF]/g;
var httpUrl=/[a-zA-z]+:\/\/[^s]*/;
var doubleReg=/((^0\.)|(^[1-9]+[0-9]*\.\d)$)|(^[1-9]+[0-9]*$)/;
function checkEmail(email) {
return emailReg.test(email);
}
function checkDouble(double) {
return doubleReg.test(double);
}
function checkHttpUrl(url) {
return httpUrl.test(url);
}
function checkIsIDCard(isIDCard) {
return isIDCardReg.test(isIDCard);
}
function checkMobile(mobile) {
return mobileReg.test(mobile);
}
function checkTel(tel) {
return telReg.test(tel);
}
function checkDomain(domain) {
return domainReg.test(domain);
}
function checkZipcode(zipcode) {
return zipcodeReg.test(zipcode);
}
function checkNum(num) {
return numReg.test(num);
}
function checkUserName(userName) {
if(userName=="") {
return false;
}
var len = userName.length;
var m = userName.match(this.zh);
if(m != null) {
len += m.length;
}
return userNameReg.test(userName) && (len>=4 && len<=32);
}
var phone="1839094574";
console.log(checkMobile(phone));
</script>
</body>
</html>
这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码,可得到如下运行结果:
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具: http://tools.jb51.net/regex/javascript
正则表达式在线生成工具: http://tools.jb51.net/regex/create_reg
JS 正则表达式 封装