常用的正则验证,包含中国手机号,邮箱,银行卡号,身份证,网址等

您所在的位置:网站首页 js密码验证正则是什么 常用的正则验证,包含中国手机号,邮箱,银行卡号,身份证,网址等

常用的正则验证,包含中国手机号,邮箱,银行卡号,身份证,网址等

2023-09-18 15:31| 来源: 网络整理| 查看: 265

一、创建正则表达式

1、方式1

正则表达式字面量被包围在一对斜杠中 let re1 = /ABC\-001/;

2、方式2

通过new RegExp('正则表达式')创建一个RegExp对象 const re2 = new RegExp('ABC\\-001'); console.log(re1) // /ABC\-001/ 二、正则表达式标识 g 全局的 (匹配多次) i 大小写不敏感(忽略字符大小写) m 多行(^和$能匹配行结束符) 三、正则表达式字符 \d 等同于[0-9],匹配一个数字 \w 等同于[0-9A-Z_a-z]可以匹配一个字母或数字 . 可以匹配任意字符 * 表示任意个字符(包括0个) + 表示至少一个字符 ? 表示0个或1个字符 {n} 表示n个字符 如:\d{3}表示匹配3个数字,例如'010' {n,m} 表示n-m个字符 ^表示行的开头,^\d表示必须以数字开头 $表示行的结束,\d$表示必须以数字结束。 \反斜杠 用来转义特殊字符

实例解析

const my_regexp =/\d{3}\s+\d{3,8}/ 从左到右解读: 1.\d{3}表示匹配3个数字,例如'010'; 2.\s可以匹配一个空格(也包括Tab等空白符),所以\s+表示至少有一个空格,例如匹配' ','\t\t'等; 3.\d{3,8}表示3-8个数字,例如'1234567'。 []表示范围 [0-9a-zA-Z\_] 可以匹配一个数字、字母或者下划线; [0-9a-zA-Z\_]+ 可以匹配至少由一个数字、字母或者下划线组成的字符串,比如'a100','0_Z','js2015'等等; [a-zA-Z\_\$][0-9a-zA-Z\_\$]* 可以匹配由字母或下划线、$开头,后接任意个由一个数字、字母或者下划线、$组成的字符串,也就是JavaScript允许的变量名; [a-zA-Z\_\$][0-9a-zA-Z\_\$]{0, 19} 更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。 四、实例方法 1、test() 方法用于测试给定的字符串是否符合条件 (不要对这个方法使用g标识) var re = /^\d{3}\-\d{3,8}$/; re.test('010-12345'); // true re.test('010-1234x'); // false re.test('010 12345'); // false 2、exec() 方法在匹配成功后,会返回一个Array,第一个元素是正则表达式匹配到的整个字符串,后面的字符串表示匹配成功的子串, 匹配失败时返回null。 提取字符串很有用 var re = /^(\d{3})-(\d{3,8})$/; re.exec('010-12345'); // ['010-12345', '010', '12345'] re.exec('010 12345'); // null 常用正则手册 1、中国手机号 1、中国手机号(严谨), 根据工信部2019年最新公布的手机号段 /^((\+|00)86)?1((3[\d])|(4[5,6,7,9])|(5[0-3,5-9])|(6[5-7])|(7[0-8])|(8[\d])|(9[1,8,9]))\d{8}$/ 2、中国手机号(宽松), 只要是13,14,15,16,17,18,19开头即可 /^((\+|00)86)?1[3-9]\d{9}$/ 3、中国手机号(最宽松), 只要是1开头即可, 如果你的手机号是用来接收短信, 优先建议选择这一条 /^((\+|00)86)?1\d{10}$/ 2、国内座机电话,如: 0341-86091234 /\d{3}-\d{8}|\d{4}-\d{7}/ 3、邮箱地址 /^[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])?)*$/ 4、银行卡号 /^([1-9]{1})(\d{15}|\d{18})$/ 5、身份证号 1、一代身份证号(15位数字) /^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$/ 2、二代身份证号(18位数字),最后一位是校验位,可能为数字或字符X /^\d{6}(18|19|20)\d{2}(0\d|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$/ 3、身份证号, 支持1/2代(15位/18位数字) /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/ 6、护照(包含香港、澳门) /(^[EeKkGgDdSsPpHh]\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d{7}$)/ 7、网址 /^((https?|ftp):\/\/)?([\da-z.-]+)\.([a-z.]{2,6})(\/\w\.-]*)*\/?/ 8、是否QQ号格式正确 /^[1-9][0-9]{4,10}$/ 9、中文姓名 /^([\u4e00-\u9fa5·]{2,16})$/ 10、英文姓名 /(^[a-zA-Z]{1}[a-zA-Z\s]{0,20}[a-zA-Z]{1}$)/ 11、是否由数字和字母组成 /^[A-Za-z0-9]+$/ 12、纯英文字母 /^[a-zA-Z]+$/ 纯小写英文字母组成 /^[a-z]+$/ 纯大写英文字母 /^[A-Z]+$/ 13、纯中文/汉字 /^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/ 14、纯数字 /^\d{1,}$/ 15、中国邮政编码 /^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/ 16、只包含中文和数字 /^((?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])|(\d))+$/ 17、不能包含字母 /^[^A-Za-z]*$/ 18、16进制颜色 /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ 17、密码验证 强:最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/ 中:字母+数字,字母+特殊字符,数字+特殊字符 /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/ 弱:纯数字,纯字母,纯特殊字符 /^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+)$/ 18、是否html标签(宽松匹配) /.*|/ 19、用户名正则,4到16位(字母,数字,下划线,减号) /^[a-zA-Z0-9_-]{4,16}$/ 20、微信号,6至20位,以字母开头,字母,数字,减号,下划线 var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/; //输出 true console.log(wxPattern.test("RuilongMao")); 20、日期 var dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/; //输出 true console.log(dP2.test("2017-02-11")); //输出 false console.log(dP2.test("2017-15-11")); 21、用户名 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uPattern.test("iFat3")); 实战 let phoneNumber = $('[name=phone]').val(); if (!phoneNumber) { alert("手机号不能为空!"); return false; } //正则表达式 var phoneReg = /(1[3-9]\d{9}$)/; if (!phoneReg.test(phoneNumber)) { alert("请输入正确格式的手机号码!"); return false; } 将中文提取出来 let textArr = text.match(/[\u4e00-\u9fa5]/g) 输入框只能输入中文英文和空格 const reg = /^[a-zA-Z\u4e00-\u9fa5\s]+$/ { if (!reg.test(value)) { return cbk('不能输入数字和其他特殊符号') } cbk() }, }, ]} >


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3