在工作中经常用到的正则表达式-------持续更新中
一个复杂的正则表达式库
1.校验密码强度8-10位
^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{
8,10}$
2.校验为中文
^[\\u4e00-\\u9fa5]{
0,}$
3. 由数字、26个英文字母或下划线组成的字符串
^\\w+$
4校验E-Mail 地址
[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{
|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?
5. 校验日期
^(?:(?!0000)[0-9]{
4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{
2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
6.校验金额(精确2位小数)
^[0-9]+(.[0-9]{
2})?$
7.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]$)
8.只能输入正小数不可输入.1231
/(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0){1}$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/
9.可以输入0,不能以0开头,例如0112,不能输入小数点,正整数
/^\+?(0|[1-9][0-9]*)$/
10.0-100之间的正整数不能输入点
let regEn = /[`!@#$%^&*()_+<>?:"{},.\/;'[\]]/im,
regCn = /[·!#¥(——):;“”‘、,|《。》?、【】[\]]/im;
if (regEn.test(value) || regCn.test(value)) {
callback(new Error('请输入0-100之间正整数!'));
} else if (/^([0-9]{1,2}|100)$/.test(value)) {
callback();
}else{
callback(new Error('请输入0-100之间正整数!'));
}
匹配整数部分0-100,小数部分为2位(可选)的正则
/^((\d|[1-9]\d)(?:\.\d{1,2})?|100)$/
正则匹配2位小数(可用于金钱)
/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
大于0两位小数
/^([1-9]\d*(\.\d{1,2})?|([0](\.([0][1-9]|[1-9]\d{0,1}))))$/