// 表达式 .* 就是单个字符匹配任意次,即贪心匹配。// 表达式 .*? 是满足条件的状况只匹配一次,即最小匹配.
// 必定逆序环视 (?<=expresion) 子表达式可能匹配左侧文本
// 否定逆序环视 (?<!expresion) 子表达式不能匹配左侧文本
// 必定程序环视 (?=expresion) 子表达式可能匹配右侧文本
// 否定程序环视 (?!expresion) 字表达式不能匹配右侧文本
// 联合上述 (?=.*expresion) 必须匹配左侧表达式
// . 匹配除换行符以外的任意字符
// \w 匹配字母或数字或下划线
// \s 匹配任意的空白符
// \d 匹配数字
// \b 匹配单词的开始或完结
// ^ 匹配字符串的开始
// $ 匹配字符串的完结
// * 反复零次或更屡次
// + 反复一次或更屡次
// ? 反复零次或一次
// {n} 反复 n 次
// {n,} 反复 n 次或更屡次
// {n,m} 反复 n 到 m 次
// \W 匹配任意不是字母,数字,下划线,汉字的字符
// \S 匹配任意不是空白符的字符
// \D 匹配任意非数字的字符
// \B 匹配不是单词结尾或完结的地位
// [^x] 匹配除了 x 以外的任意字符
// [^aeiou] 匹配除了 aeiou 这几个字母以外的任意字符
// /g 示意该表达式将用来在输出字符串中查找所有可能的匹配,返回的后果能够是多个。如果不加 / g 最多只会匹配一个
// /i 示意匹配的时候不辨别大小写,这个跟其它语言的正则用法雷同
// /m 示意多行匹配。什么是多行匹配呢?就是匹配换行符两端的潜在匹配。影响正则中的 ^$ 符号
// /s 与 / m 绝对,单行模式匹配。// /e 可执行模式,此为 PHP 专有参数,例如 preg_replace 函数。// /x 疏忽空白模式。// 这些修饰符是能够混合应用的。例如 /ig、/ie 等。const regExp = {
// 局部 字母、数字、+*-/_三种中的两种组成
part_letterNumberSymbol: /^(([0-9]+[a-zA-Z]+)|([0-9]+[\/\*\-\+\_]+)|([a-zA-Z]+[0-9]+)|([a-zA-Z]+[\/\*\-\+\_]+)|([\/\*\-\+\_]+[a-zA-Z]+)|([\/\*\-\+\_]+[0-9]+))([a-zA-Z]*[\/\*\-\+\_]*[0-9]*)+$/,
// 必须 字母、数字
required_letterNumber: /^(?=.*[0-9])(?=.*[a-zA-Z])(.{2,})$/,
// 只能 字母、数字
can_numberAndletter: /^[A-Za-z0-9]+$/,
// 只能 字母、数字、下划线
can_number_letter_Underline: /^[A-Za-z0-9\_]+$/,
// 只能 字母
can_letter: /^[A-Za-z]+$/,
// 只能 字母、汉字
can_numberAndcharacters: /^[a-zA-Z\u4e00-\u9fa5]+$/,
// 只能 汉字、字母、数字
can_letterNumberChinese: /^[A-Za-z0-9\u4e00-\u9fa5]+$/,
// 只能 汉字、字母、数字、下划线
can_charactersNumbersUnderscores: /^[\w\u4e00-\u9fa5]+$/,
// 英文结尾,只能英文小写,数字,下划线
startLetter_number_letter_Underline: /^[a-z]+[a-z0-9\_]*$/,
// 手机号正则,用处例如:验证手机号
phone: /^1\d{10}$/,
// 微信号码
wechat: /^[a-zA-Z]([-_a-zA-Z0-9]{5,20})+$/,
// 邮箱正则
email: /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/,
// IP 地址
ip: /^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)$/,
// 非数字结尾
beginNoNumber: /^\D{1}.*$/,
// 经纬度
lonLat: /^[+-]?\d{1,3}(\.\d{1,6})?,[+-]?\d{1,3}(\.\d{1,6})?$/,
/* 非法 uri*/
urlregex: /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/,
// 浮点数 能够带 +- 符号
floatNumber: /^[-+]?\d+(\.\d+)?$/,
// 座机号码
landline: /^0[0-9]{2,3}-[0-9]{8}$/,
// 车牌号
carPlate: /^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$/,
// 支付宝
aliPay: /^[/^[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\d{10}]$/,
// 财付通
tenPay: /^[/^[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\d{10}]$/,
// 中国身份证
chinaIdCard: /^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/,
// 特殊字符
specialChar: /[`~!@#\$%\^\&\*\(\)_\+<>\?:"\{\},\.\\\/;'\[\]]/im
}