Regex 常用正则
整理一些常用的正则,后续会陆续添加。
js
export const regex = {
// 数字
numberRe: /^((-?\d+\.\d+)|(-?\d+)|(-?\.\d+))$/,
// 小数
decimalFractionRe: /^(([^0][0-9]+|0)\.([0-9]{1,2}))$/,
// 身份证
cardRe: /(^\d{15}$)|(^\d{17}([0-9]|X)$)/i,
// 手机号
phoneRe: /^[1]([3-9])[0-9]{9}$/,
phoneReStrict:
/^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/,
// url地址
adressRe:
/(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/,
// email
emailRe:
/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[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])?)*$/,
// 非零开头的最多带两位小数的数字
twoDecimalPlacesRe: /^([1-9][0-9]*)+(.[0-9]{1,2})?$/,
// 中文、英文、数字包括下划线
languageNumberRe: /^[\u4E00-\u9FA5A-Za-z0-9_]+$/,
// 中文、英文、数字但不包括下划线等符号
noLanguageNumberRe: /^[\u4E00-\u9FA5A-Za-z0-9]+$/,
// 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
figuresNumberRe: /^[A-Za-z0-9]+$/,
// 域名
domainRe: /^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$/,
// 国内电话号码
teplphoneRe: /^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/,
// 短身份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
shortIdCardRe: /^([0-9]){7,18}(x|X)?$/,
longIdCardRe: /^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$/,
// 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)
pwdStrengthRe: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/,
// 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
legalityCountRe: /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/,
// 特殊字符
specialCharacterRe:
/[^`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/im,
// 中国邮政编码为6位数字
postalCodeRe: /[1-9]\d{5}(?!\d)/,
// 长度为3-20的所有字符
allCharacterRe: /^.{3,20}$/,
// m-n位的数字
digitsNumberRe: /^\d{5,18}$/,
// 为汉字
chineseRe: /^[\u4e00-\u9fa5]{0,}$/,
// 由26个英文字母组成的字符串
alphabetRe: /^[A-Za-z]+$/,
// 腾讯QQ号
tencentNumberRe: /^[1-9]\d{4,10}$/,
// 验证数字大小在15到200之间
sizeNumberRe: /^1[6-9]$|^[2-9]\d$|^1\d{2}$/,
// IP地址
ipRe: /^((([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/,
// 网址
webRe: /^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*$/
}