JavaScript的正则表达式

什么是正则

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

应用场景

1)对表单域项目(用户名、密码、邮箱、qq号码、手机等等)进行验证

2)网络爬虫(一个网站到另一个网站的页面上去获取对方的相关信息)

3)内容替换、获取

4) 手机号替换:替换前:13412345678 替换后 1345678

5) 敏感词替换:

语法

语法:var regexp = /正则表达式/修饰符;

修饰符说明

标志说明
i忽略大小写
g全局匹配
gi全局匹配+忽略大小写

正则的字符串调用函数

在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

search() 方法

语法:字符串对象.search(待查找的字符串|正则)

作用:用于搜索字符串中指定的元素

返回:返回符合条件的第一个元素下标,没找到返回-1

match()

语法:字符串对象.match(待匹配的字符串|正则表达式)

作用:匹配符合条件的内容

返回:返回一个数组

replace() 方法

语法:字符串对象.replace(待匹配的字符串|正则表达式,替换的内容)

作用:用于替换字符串中的数据

返回:返回新的字符串(替换后的字符串)

正则语法(理解)

正则字符类

元字符说明
[a-z]匹配a-z任意一个字符
[A-Z]匹配A-Z任意一个字符
[a-zA-Z]匹配26个英文字母(大小写)
[0-9]匹配一个数字
[0-9a-zA-Z_]匹配一个字符可以是数字、字母和下划线
[^0-9]匹配非数字,就是数字以外任何的东西
[^a-zA-Z]匹配非字母

[] 表示我们可以匹配里面的内容,可以随意指定其它字符

常用字符类

元字符说明
\d匹配数字相当于 [0-9]
\D匹配任意非数字的字符 0-9
\w匹配字母或数字或下划线 [0-9a-zA-Z_]
\W匹配任意不是字母,数字,下划线 0-9a-zA-Z_
\s匹配任意的空白符,空格
\S匹配任意不是空白符的字符
.匹配除换行符以外的任意单个字符
^表示匹配行首的文本(以谁开始)
$表示匹配行尾的文本(以谁结束)

重复字符

限定符说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次,最少出现n次
{n,m}重复n到m次
[]匹配字符组内的字符 [abc]
( str1 l str2 )

匹配字符串str1或者str2

手机号检测

规律

       第一位 1

       第二位 3 5 6 7 8 9

       第三位及以后  0-9

因此正则表达式为

var reg = /^1{1}[356789]{1}\d{9}$/

邮箱地址检测

第一部分: 字母 数字 _ 长度 6-18

第二部分: @           长度 1

第三部分: 数字 字母   长度 2-10

第四部分: . 在正则中是任意符号  使用普通字符串. 需要转义 \.

第五部分: com cn net

因此正则表达式为

var reg = /^\w{6,18}@[\da-z]{2,10}\.(com|cn|net)$/;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值