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%内容,订阅专栏后可继续查看/也可单篇购买
前端面试题 文章被收录于专栏
前端面试的一些常问问题、问题的具体实现(可直接运行)以及底层原理
查看2道真题和解析