JavaScript RegExp对象 (正则表达式)

目录:

---------- 1、什么是 RegExp? 2、RegExp语法 3、使用字符串方法 4、search() 方法使用正则表达式 5、replace() 方法使用正则表达式 6、各种匹配字符 ------------------

1、什么是 RegExp?

RegExp 是正则表达式的缩写。

当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。
正则表达式可以是一个简单的字符,或一个更复杂的模式。

正则表达式可用于所有文本搜索和文本替换的操作。

2、语法

正则表达式主体/修饰符(可选)
其中修饰符是可选的。

3、使用字符串方法

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

search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

4、search() 方法使用正则表达式

实例
使用正则表达式搜索 “Runoob” 字符串,且不区分大小写:

var str = “Visit Runoob!”;
var n = str.search(/Runoob/i);
输出结果为:6

5、replace() 方法使用正则表达式

实例

使用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob :

var str = document.getElementById(“demo”).innerHTML;
var txt = str.replace(/microsoft/i,“Runoob”);
结果输出为: Visit Runoob!

注意:

正则表达式参数可用在以上方法中 (替代字符串参数)。 正则表达式使得搜索功能更加强大(如实例中不区分大小写)。
修饰符
修饰符描述
i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。
基本通配符
元字符描述
.查找单个字符,除了换行和行结束符。
\w匹配单词字符。
\d匹配数字。
\s匹配空白字符。
\b匹配单词边界。
\n匹配换行符。
\f匹配换页符。
\r匹配回车符。
\t匹配制表符。
$匹配字符串结束。
^匹配字符串开始。
\0匹配 NUL 字符。
\v 匹配垂直制表符。
\xxx匹配以八进制数 xxx 规定的字符。
\xdd匹配以十六进制数 dd 规定的字符。
\uxxxx匹配以十六进制数 xxxx 规定的 Unicode 字符。
重复限定符
元字符限定规则
n+将n重复一次或更多次
n*将n重复零次或更多次
n?将n重复一次或一次
n{X}将n重复x次
n{X,Y}将n重复x~y次
n{X,}j将n重复x次或者更多次。
^n查找回车符。
?=n查找制表符。
\0查找 NUL 字符。
\v 查找垂直制表符。
\xxx查找以八进制数 xxx 规定的字符。
\xdd查找以十六进制数 dd 规定的字符。
\uxxxx查找以十六进制数 xxxx 规定的 Unicode 符。

正则表达式表单验证实例:

代码引用

选择符`[]`

选择符[]:表示从普通字符组成的集合中选择一个字符
例如:模式/[abc]/可以匹配a,b,c;
模式/[a-z]/可以匹配a到z任意一个小写字母;

转义符“\”
查找元字符本身,取消字符特殊意义

例如:\. \* \\

分支符“|”

前后两个分支是“或”关系。
例如:\(0\d{2}\)[- ]?\d{8}|0\d{2}[- ]?\d{8}
结果:(024)87654321或者024-87654321

解析:
\d{2}:{2}让\d进行了两次(一个任意的两位数);
\):为了显示出“()”;
[- ]:要么匹配-要么匹配空格
[- ]?:要么匹配[- ]的结果要么就不匹配;
d{8}:{8}让\d进行8次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值