# 常用正则
// 中文字符
/[\u4e00-\u9fa5]/
// Email地址
/[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/g
// 网址URL
/[a-zA-z]+://[^\s]*/g
// 国内电话号码
/0?(13|14|15|17|18|19)[0-9]{9}/
// 较为全面的电话号码
/^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/
// QQ号
/[1-9]([0-9]{5,11})/
// 中国邮政编码
/[1-9]\d{5}(?!\d)/
// 18位身份证号
/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/
// 身份证
/^[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{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[X])$)$/
// (-、/、.)格式日期
/\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}/
// 数字、大小写字母开头,最大20
/^[a-zA-Z0-9][a-zA-Z0-9_]{0,19}$/
// 字母数字下划线汉字组成,最大20位字符,不能以下划线开头结尾
// (?!_) 不能以 _ 开头
// (?!.*?_$) 不能以 _ 结束
/^(?!_)(?!.*?_$)[0-9a-zA-Z_\u4e00-\u9fa5]{1,20}$/
// 正整数
/^[1-9]\d*$/
// 负整数
/^-[1-9]\d*$/
// 整数
/^-?[1-9]\d*$/
// 非负整数(正整数 + 0)
/^[1-9]\d*|0$/
// 非正整数(负整数 + 0)
/^-[1-9]\d*|0$/
// 正浮点数
/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/
// 负浮点数
/^-[1-9]\d*\.\d*|-0\.\d*[1-9]\d*$/
# 数字正则
# 数字格式验证
// 验证数字
/^[0-9]*$/
/^\d+$/
// 只能输入n个数字
/^\d{n}$/
// 至少输入n个以上的数字
/^\d{n,}$/
// 只能输入m到n个数字
/^\d{m,n}$/
# 自然数验证
// 数字(含零、正负实数)
/^[+-]?(0|([1-9]\d*))(\.\d+)?$/
// 整数,含0
/^(0|[1-9][0-9]*|-[1-9][0-9]*)$/
// 整数,不含0
/^((-)?[1-9]\d*)$/
/^([1-9][0-9]*|-[1-9][0-9]*)$/
// 正整数,含0
/^(0|[1-9][0-9]*)$/
/^([1-9]\d*|[0]{1,1})$/
// 正整数,不含0
/^([1-9][0-9]*)$/
/^[1-9]+\d*$/
/^\+?[1-9][0-9]*$/
// 负整数,含0
/^(0|-[1-9][0-9]*)$/
// 负整数,不含0
/^(-[1-9][0-9]*)$/
// 正实数,含0
/^(?:[1-9]\d*|0)(?:\.\d+)?$/
// 正实数,不含0
/^(?:[1-9][0-9]*\.[0-9]+|0\.(?!0+$)[0-9]+|[1-9]+\d*)$/
// 负实数,含0
/^(0|-([1-9]+\d*|[1-9][0-9]*\.[0-9]+|0\.(?!0+$)[0-9]+))$/
// 负实数,不含0
/^-([1-9]+\d*|[1-9][0-9]*\.[0-9]+|0\.(?!0+$)[0-9]+)$/
// 浮点数,含0
/^(0|[+-]?((0|([1-9]\d*))\.\d+)?)$/
// 浮点数,不含0
/^[+-]?((0|([1-9]\d*))\.\d+)?$/
// 正浮点数,含0
/^(?:[1-9][0-9]*\.[0-9]+|0\.(?!0+$)[0-9]+|0)$/
// 正浮点数,不含0
/^(?:[1-9][0-9]*\.[0-9]+|0\.(?!0+$)[0-9]+)$/
// 正浮点数,保留n位小数,含0
/^(0|(0|[1-9][0-9]*)+(\.\d{n}))$/
// 正浮点数,保留m~n个位小数,含0
/^(0|[1-9][0-9]*)+(\.\d{m,n})?$/
// 负浮点数,含0
/^(0|-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))$/
// 负浮点数,不含0
/^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/
// 负浮点数,保留n位小数,含0
/^(0|-(0|[1-9][0-9]*)+(\.\d{n}))$/
// 两位小数
/^(([1-9]{1}\d{0,12})|(0{1}))(\.\d{0,2})?$/
// 30~300范围内的整数
/^300$|^[3-9]\d$|^[1,2]\d{2}$/
// 10~300范围内的整数
/^([1-9]\d|[1,2]\d{2}|300)$/
// 30~300范围内,并保留小数点后1位
/^([3-9]\d|[1,2]\d{2}|300)(\.\d{1})?$/
// 0~200范围内,并保留小数点后1位
/^((\d|[1-9][0-9]\d{0,2})(\.\d{1})?|200)$/
# 密码正则
# 8-14位的数字与字母组合
/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,14}$/
# 强密码正则(8-14位数字/字母(区分大小写)及特殊字符的三种及以上组合)
/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[`~!@#$%^&*()_\-+=<>?:"{}|,.\\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、])[a-zA-Z\d`~!@#$%^&*()_\-+=<>?:"{}|,.\\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]{8,14}$/
← 代码小片段