javascript常见正则表达式实例
1 var myRegExp = { 2 // 检查字符串是否为合法QQ号码 3 isQQ: function(str) { 4 // 1 首位不能是0 ^[1-9] 5 // 2 必须是 [5, 11] 位的数字 \d{4, 9} 6 var reg = /^[1-9][0-9]{4,9}$/gim; 7 if (reg.test(str)) { 8 console.log(‘QQ号码格式输入正确‘); 9 return true; 10 } else { 11 console.log(‘请输入正确格式的QQ号码‘); 12 return false; 13 } 14 }, 15 // 检查字符串是否为合法手机号码 16 isPhone: function(str) { 17 var reg = /^(0|86|17951)?(13[0-9]|15[012356789]|18[0-9]|14[57]|17[678])[0-9]{8}$/; 18 if (reg.test(str)) { 19 console.log(‘手机号码格式输入正确‘); 20 return true; 21 } else { 22 console.log(‘请输入正确格式的手机号码‘); 23 return false; 24 } 25 }, 26 // 检查字符串是否为合法Email地址 27 isEmail: function(str) { 28 var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; 29 // var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; 30 if (reg.test(str)) { 31 console.log(‘Email格式输入正确‘); 32 return true; 33 } else { 34 console.log(‘请输入正确格式的Email‘); 35 return false; 36 } 37 }, 38 // 检查字符串是否是数字 39 isNumber: function(str) { 40 var reg = /^\d+$/; 41 if (reg.test(str)) { 42 console.log(str + ‘是数字‘); 43 return true; 44 } else { 45 console.log(str + ‘不是数字‘); 46 return false; 47 } 48 }, 49 // 去掉前后空格 50 trim: function(str) { 51 var reg = /^\s+|\s+$/g; 52 return str.replace(reg, ‘‘); 53 }, 54 // 检查字符串是否存在中文 55 isChinese: function(str) { 56 var reg = /[\u4e00-\u9fa5]/gm; 57 if (reg.test(str)) { 58 console.log(str + ‘ 中存在中文‘); 59 return true; 60 } else { 61 console.log(str + ‘ 中不存在中文‘); 62 return false; 63 } 64 }, 65 // 检查字符串是否为合法邮政编码 66 isPostcode: function(str) { 67 // 起始数字不能为0,然后是5个数字 [1-9]\d{5} 68 var reg = /^[1-9]\d{5}$/g; 69 // var reg = /^[1-9]\d{5}(?!\d)$/; 70 if (reg.test(str)) { 71 console.log(str + ‘ 是合法的邮编格式‘); 72 return true; 73 } else { 74 console.log(str + ‘ 是不合法的邮编格式‘); 75 return false; 76 } 77 }, 78 // 检查字符串是否为合法身份证号码 79 isIDcard: function(str) { 80 var reg = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/; 81 if (reg.test(str)) { 82 console.log(str + ‘ 是合法的身份证号码‘); 83 return true; 84 } else { 85 console.log(str + ‘ 是不合法的身份证号码‘); 86 return false; 87 } 88 }, 89 // 检查字符串是否为合法URL 90 isURL: function(str) { 91 var reg = /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i; 92 if (reg.test(str)) { 93 console.log(str + ‘ 是合法的URL‘); 94 return true; 95 } else { 96 console.log(str + ‘ 是不合法的URL‘); 97 return false; 98 } 99 }, 100 // 检查字符串是否为合法日期格式 yyyy-mm-dd 101 isDate: function(str) { 102 var reg = /^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/; 103 if (reg.test(str)) { 104 console.log(str + ‘ 是合法的日期格式‘); 105 return true; 106 } else { 107 console.log(str + ‘ 是不合法的日期格式,yyyy-mm-dd‘); 108 return false; 109 } 110 }, 111 // 检查字符串是否为合法IP地址 112 isIP: function(str) { 113 // 1.1.1.1 四段 [0 , 255] 114 // 第一段不能为0 115 // 每个段不能以0开头 116 // 117 // 本机IP: 58.50.120.18 湖北省荆州市 电信 118 var reg = /^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/gi; 119 if (reg.test(str)) { 120 console.log(str + ‘ 是合法的IP地址‘); 121 return true; 122 } else { 123 console.log(str + ‘ 是不合法的IP地址‘); 124 return false; 125 } 126 } 127 } 128 // 测试 129 // console.log(myRegExp.isQQ(‘80583600‘)); 130 // console.log(myRegExp.isPhone(‘17607160722‘)); 131 // console.log(myRegExp.isEmail(‘[email protected]‘)); 132 // console.log(myRegExp.isNumber(‘100a‘)); 133 // console.log(myRegExp.trim(‘ 100 ‘)); 134 // console.log(myRegExp.isChinese(‘baixiaoming‘)); 135 // console.log(myRegExp.isChinese(‘小明‘)); 136 // console.log(myRegExp.isPostcode(‘412345‘)); 137 // console.log(myRegExp.isIDcard(‘42091119940927001X‘)); 138 // console.log(myRegExp.isURL(‘https://www.baidu.com/‘)); 139 // console.log(myRegExp.isDate(‘2017-4-4‘)); 140 // console.log(myRegExp.isIP(‘1.0.0.0‘));
时间: 2024-10-17 10:34:48