常用正则表达式

中文正则(不包括中文标点符号等)

1
var cnPattern = /[一-龥]/;

双字节正则(中文及中文标点等)

1
var doubleBytePattern = /[^\x00-\xff]/;

链接正则

1
var linkPattern = (https?|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]

邮箱正则

1
2
3
foobar@dk

2454515593@qq.com
1
2
// https://stackoverflow.com/a/32010185
const reg = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/

微信号正则

1
2
// 微信号正则,6至20位,以字母开头,字母,数字,减号,下划线
var wxPattern = /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/;

QQ号码正则

1
2
// 从10000开始
var qqPattern = /^[1-9][0-9]{4,}$/;

联系电话正则

1
2
3
4
5
6
// 移动电话
const mobileReg = /^1[0-9]{10}$/

// 座机
const phoneType1Reg = /^0\d{2,3}-[1-9]\d{6,7}$/ // 0571-86295197
const phoneType2Reg = /^\d{3,4}-\d{3,4}-\d{3,4}$/ // 4001-550-520

身份证号正则

1
/^[1-9]{1}[0-9]{14}$|^[1-9]{1}[0-9]{16}([0-9]|[xX])$/

国内邮政编码

1
/^[1-9]\d{5}(?!\d)$/

营业执照号

1
const reg = /(^(?:(?![IOZSV])[\dA-Z]){2}\d{6}(?:(?![IOZSV])[\dA-Z]){10}$)|(^\d{15}$)/

车牌号正则

1
2
//车牌号正则
var cPattern = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;

数字正则

可以是整数也可以是浮点数。

1
2
3
4
5
6
7
8
// 正数正则
var posPattern = /^\d*\.?\d+$/;

// 负数正则
var negPattern = /^-\d*\.?\d+$/;

// 数字正则
var numPattern = /^-?\d*\.?\d+$/;

正整数

1
/^[1-9]\d*$/

自然数

1
2
// 只能输入0或正整数,并且去除数字前的0
value.replace(/[^\d]/g, '').replace(/0*(\d+)/,'$1')

非负整数

1
/^[1-9]\d*|0$/

整数正则

1
2
3
4
//负整数正则
var negPattern = /^-\d+$/;
//整数正则
var intPattern = /^-?\d+$/;