常用正则表达式

收集一下使用过的正则表达式,基本保证格式正确。
主要采用js形式,如果是其他语言请注意修改,例如反斜杠的格式等。

1 IPv4 验证

var ipv4 = "192.168.99.1"
var ipv4test = /^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/
ipv4test.test(ipv4)

2 IPv6验证

var ipv61 = "2001:470:1f10:c5a::1/64"
var ipv62 = "2001:470:20::2"
var ipv6test = /(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/

3 有变量的网址正则验证

其中 congfig5config4 为变量,当有变量时候可以使用RegExp的构造函数来生成正则。

其中 \ 必须使用 \\\\ 形式。

var urltest = new RegExp("^https://" + $('.config5').val() + ":[a-zA-Z0-9]+@ipv4\\.tunnelbroker\\.net/nic/update\\?hostname=" + $('.config4').val() + "$");

4 常用手机号

var phone = /^(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}$/

5 身份证号(18位)

var idcard = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/
    原文作者:Evan是个写代码的小学生
    原文地址: https://www.jianshu.com/p/a30120697159
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞