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%内容,订阅专栏后可继续查看/也可单篇购买

前端面试题 文章被收录于专栏

前端面试的一些常问问题、问题的具体实现(可直接运行)以及底层原理

全部评论

相关推荐

10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务