本文实例讲述了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.haodaima.com/code/HtmlJsRun测试上述代码,可得到如下运行结果:
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.haodaima.com/regex/javascript
正则表达式在线生成工具:
http://tools.haodaima.com/regex/create_reg
希望本文所述对大家JavaScript程序设计有所帮助。
本文JS正则表达式封装与使用操作示例到此结束。人不能像走兽一样活着,应该追求知识与美德。小编再次感谢大家对我们的支持!