我在專案中常用的正則表示式有哪些
阿新 • • 發佈:2021-10-21
// 校驗手機號 嚴格 export const StrictMobileReg = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/ // 校驗手機號 寬鬆 export const MobileReg = /^(?:(?:\+|00)86)?1[3-9]\d{9}$/ // 校驗座機好嗎 export const TelPhoneReg = /0\d{2,3}-\d{7,8}(-\d{1,6})?/ // 座機 export const TelReg = /^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$/ //手機或座機 export const PhoneReg = /^(((\d{3,4}-)?[0-9]{7,8})|(1(3|4|5|6|7|8|9)\d{9}))$/ // 數字/貨幣金額 (只支援正數、不支援校驗千分位分隔符) export const CurrencyReg = /(?:^[1-9]([0-9]+)?(?:\.[0-9]{1,2})?$)|(?:^(?:0){1}$)|(?:^[0-9]\.[0-9](?:[0-9])?$)/ //1~10000的正整數 export const max10000 = /^[1-9]\d{0,3}$|^10000$/ //連結地址 export const UrlReg = /^((ht|f)tps?):\/\/[\w-]+(\.[\w-]+)+([\w\-.,@?^=%&:/~+#]*[\w\-@?^=%&/~+#])?$/ //身份證 export const IdCardReg = /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dX]$/ // 校驗郵箱地址 export const EmailReg = /^[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])?)*$/ // 數字和字母的組合 export const LetterNumberReg = /^[a-z0-9]+$/ //校驗車牌號 export const CarNumReg = /^[京津滬渝冀豫雲遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陝吉閩貴粵青藏川寧瓊使領][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9掛學警港澳]$/ //版本號校驗 export const VersionReg = /^[1-9]\d?(\.(0|[1-9]\d?)){2}$/ //只能輸入中文和數字 export const ChineseOrNumber = /^[\u4E00-\u9FA5A-Za-z0-9_]+$/ // 是否全部為中文 export const ChineseReg = /^[\u4e00-\u9fa5]+$/ // 是否包含為中文 export const IncludesChineseReg = /[\u4e00-\u9fa5]+/ export const SpecialCharacters = // eslint-disable-next-line no-useless-escape /[`~!@#$%^&*()_\-+=<>?:"{}|,\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/im export const number = / ^[0-9]*$ / //檢驗double //double 型別整數位不能超過20位(算上符號位),小數位不能超過15 位,這樣加起來,double 型別 最大長度位為36 位, 算上小數點 export const doubleReg = /^[0-9]{1,20}([.][0-9]{1,15})?$/