JS:js正则表达式(***三颗星)
1.正则表达式
正则: 编程语言的常识-----数组,对象
正则表达式本质上是对象
用来创建规则校验字符串
2.正则表达式创建
创建一:内置构造函数创建
<script> let reg=new RegExp("a") console.log(reg)// /a/ console.log(typeof reg)//object,实例对象 </script>
创建二:字面量创建 -------/正则表达式/
修饰符(很少用):
i 忽略大小写
m 多行匹配
g 全局匹配
<script> let reg=/a/i console.log(reg.test("abfbabfbabaA"))//true console.log(reg.test("Assss"))//true console.log(typeof reg)//object </script>
正则匹配规则:
//字符串匹配 \d:匹配数字 \D:数字取反,即除数字之外其它字符 \w:匹配数字+字母 \W:匹配除了数字+字母的其它字符 \s:匹配空格 \S:匹配除空格的其它字符 .:当前匹配任意字符 \:转义 ():分组 |:或者 //范围的匹配 *:表示前面出现的一个字符出现0-n次 +:表示前面出现的一个字符出现1-n次 ?:表示前面出现的一个字符出现0-1次 {数字a}:表示前面出现的一个字符出现'数字a'次 {数字a,数字b}:表示前面出现的一个字符出现'数字a'-'数字b'次,范围限定 {数字a,}:表示前面出现的一个字符出现'数字a'-n次 [0-9]/[a-z]/[3-9a-z]/[24]:表示当前元素匹配数字0-9/字母a-z/数字3-9和字母a-z/数字2、数字4 [^0-9]:取反,匹配非数字 //字符串的起始和结尾 ^:以后面的一个字符为开头的 $:以前面的一个字符为结尾的 ^字符串str$:只能匹配字符串str,严格设置中间的字符串
3.正则校验字符串的案例
手机号验证
需求1: 手机号码校验
创造规则: 1. 都是数字 2. 1开头
<script> //创造规则: 1. 都是数字 2. 1开头 let reg=/^1\d{10}$/ console.log(reg.test("12545854854"));//true console.log(reg.test("25458548546"));//false console.log(reg.test("125458548s4"));//false </script>
需求升级: 手机号码 第二位 3 4 5 6 7 8 9
<script> //需求升级: 手机号码 第二位2 3 4 5 6 7 8 9 let reg=/^1[3-9][0-9]{9}$/ // 或 let reg=/^1[3-9]\d{9}$/ console.log(reg.test("12545854854"));//true console.log(reg.test("25458585463"));//false console.log(reg.test("135458548s43"));//false </script>
校验16进制颜色
需求2: 校验16进制颜色
规则创建: 1. #开头 2. 7个字符 3. 2-7之间 0-9a-fA-F
<script
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
前端面试题 文章被收录于专栏
前端面试的一些常问问题、问题的具体实现(可直接运行)以及底层原理