该文持续性的收集工作中常用到的正则表达式,基本都是拿来即用,如有纰漏,烦请指出。
一 字符类
1 用户名:3-16位,允许大小写字母、数字、下划线
^[a-zA-Z0-9_]{3,16}$
2 密码:8~20位,包含大、小写字母、数字、特殊字符3种或3种以上的组合
^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,20}$
3 26位大小写英文字母
^[A-Za-z]+$
二 数字类
1 数字
^[0-9]*$
2 整数
^\d+$
3 负整数
^-[1-9]\d*$
4 小数
^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
5 整数 范围【1,100】
^(?:0|[1-9][0-9]?|100)$
6 64位十六进制表示
^[A-Fa-f0-9]{64}$
7 手机号
^(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}$
8 身份证号码(15或18位)
(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$)
三 网络通信类
1 IPV4地址
^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))$
2 主机物理地址(MAC地址)
^[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}$
3 端口号 [0~65535]
^[0-9]$|(^[1-9][0-9]$)|(^[1-9][0-9]{2}$)|(^[1-9][0-9]{3}$)|(^[1-5][0-9]{4}$)|(^6[0-4][0-9]{3}$)|(^65[0-4][0-9]{2}$)|(^655[0-2][0-9]$)|(^6553[0-5]$)
4 子网掩码
^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))$
四 其它
1 Email 地址
^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
οnpaste="return false;" 禁止向控件粘贴内容
οncοpy="return false;" 禁止复制
oncut="return false;" 禁止剪贴
οncοntextmenu="return false;" 禁止使用右键
onKeyUp="value=this.value.replace(/[\W]/g,'')" 只能输入英文、数字、下划线
onkeyup="value=value.replace(/[^a-zA-Z]/g,'')" 只能输入英文
onkeyup="this.value=this.value.replace(/\D/g,'')" 只能输入数字
onkeyup="value=value.replace(/[^\d\.]/g,'')" 只能输入数字、小数点
onkeyup="value=value.replace(/[^\d\._]/g,'')" 数字、小数点、下划线
onkeyup="value=value.replace(/[\W]/g,'')" 英文、数字、下划线
onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" 只能中文输入
onkeyup="this.value=this.value.replace(/[^\u4e00-\u9fa5\w]/g,'')" 中文、英文、数字、下划线
正则在线测试:http://tool.oschina.net/regex/
参考链接:http://www.cnblogs.com/fozero/p/7868687.html
参考链接:https://www.w3cschool.cn/notebook/notebook-jghl2tn5.html