实用的JS正则表达式
正则表达式是对字符串操作的一种极其强大的工具。在JavaScript中,正则表达式同样也是非常重要和常用的。本文将会讲解一些常用的正则表达式及其匹配规则。
1. 手机号正则表达式
手机号正则表达式的匹配规则如下:
/^1[3456789]\d{9}$/
其中:
^
表示字符串开始位置;1
表示以数字1开始;[3456789]
中括号内表示匹配3、4、5、6、7、8、9 中的任意一个数字;\d
表示任意一个数字;{9}
表示匹配前面的数字规则九次;$
表示字符串结束位置。
示例代码:
function isPhoneNumber(number) {
return /^1[3456789]\d{9}$/.test(number);
}
console.log(isPhoneNumber('13600001111')); // true
console.log(isPhoneNumber('10000000000')); // false
2. IP地址正则表达式
IP地址正则表达式的匹配规则如下:
/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/
其中:
^
表示字符串开始位置;(25[0-5]|2[0-4]\d|[01]?\d\d?)
表示匹配IP地址中的每一组数字,该部分匹配规则如下:25[0-5]
表示匹配25~255之间的任意数字;2[0-4]\d
表示匹配200~249之间的任意数字,以及200~255之间的任意两位数字;[01]?\d\d?
表示匹配0~199之间的任意数字。\.
表示匹配一个.
字符;$
表示字符串结束位置。
示例代码:
function isIPAddress(ip) {
return /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/.test(ip);
}
console.log(isIPAddress('192.168.0.1')); // true
console.log(isIPAddress('10.0.0.256')); // false
3. 邮政编码正则表达式
邮政编码正则表达式的匹配规则如下:
/^[0-9]{6}$/
其中:
^
表示字符串开始位置;[0-9]
表示匹配任意一个数字;{6}
表示匹配前面的数字规则六次;$
表示字符串结束位置。
示例代码:
function isPostalCode(code) {
return /^[0-9]{6}$/.test(code);
}
console.log(isPostalCode('100000')); // true
console.log(isPostalCode('1234567')); // false
4. 电话号码正则表达式
电话号码正则表达式的匹配规则如下:
/^0\d{2,3}-?\d{7,8}$/
其中:
^
表示字符串开始位置;0
表示以数字0开始;\d{2,3}
表示匹配电话区号,该部分匹配规则如下:{2,3}
表示匹配前面的数字规则两次或三次;-?
表示匹配0个或1个-
字符;\d{7,8}
表示匹配电话号码,该部分匹配规则如下:{7,8}
表示匹配前面的数字规则七次或八次;$
表示字符串结束位置。
示例代码:
function isPhoneNumber(number) {
return /^0\d{2,3}-?\d{7,8}$/.test(number);
}
console.log(isPhoneNumber('010-12345678')); // true
console.log(isPhoneNumber('01012345678')); // true
console.log(isPhoneNumber('18200001111')); // false
结语
以上就是本文对于实用的JS正则表达式的讲解。正则表达式在前端开发中是一个非常重要的知识点,希望大家能够通过本文,对正则表达式有更深入的了解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等) - Python技术站