JS中的正则表达式

正则表达式是由一个字符序列形成的搜索模式。可以是一个简单的字符,或一个更复杂的模式。

语法

/正则表达式主体/修饰符

修饰符为可选项

修饰符

  • i : 搜索不区分大小写
  • g :执行全局匹配(查找所有的匹配项,非找到第一个匹配后停止)
  • m :执行多行匹配

正则表达式主体

  • 方括号(查找某个范围的字符)
表达式描述
[abc]查找方括号之间的任何字符。
[0-9]查找任何从 0 至 9 的数字。
(x|y)查找任何以 | 分隔的选项。
  • 元字符(拥有特殊含义的字符)
元字符描述
\d查找数字
\w匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”
\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于[\f\n\r\t\v]
  • 限定符
字符描述
*匹配前面的子表达式零次或多次
+匹配前面的子表达式一次或多次,等价于 {1,}。
?匹配前面的子表达式零次或一次。等价于 {0,1}。
{n}n 是一个非负整数。匹配确定的 n 次
{n,}n 是一个非负整数。至少匹配n 次,’o{0,}’ 则等价于 ‘o*’
{n,m}m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。,’o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格
  • 定位符
字符描述
^匹配输入字符串开始的位置
$匹配输入字符串结尾的位置
\b匹配一个字边界,即字与空格间的位置。
\B非字边界匹配。

[^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符
^[a-z] 以字符a-z为开头

  • 特殊字符
字符描述
\转义符。将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n’ 匹配字符 ‘n’。’\n’ 匹配换行符。序列 ‘\\’ 匹配 “\”,而 ‘\(’ 则匹配 “(“
{标记限定符表达式的开始
|指明两项之间的一个选择

方法

1.使用字符串方法

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

  • search() 方法:用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
var str = "Visit Runoob!"; 
var n = str.search("Runoob");
  • replace() 方法:用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
var str = document.getElementById("demo").innerHTML; 
var txt = str.replace(/microsoft/i,"Runoob");

2.正则表达式方法

  • test():方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
var patt = /e/;
patt.test("The best things in life are free!");
  • exec() :方法用于检索字符串中的正则表达式的匹配。该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
/e/.exec("The best things in life are free!");

实例

1.校验用户姓名:只能输入1-30个以字母开头的字串
2.校验密码:只能输入6-20个字母、数字、下划线
3.校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串。



1./^([A-Z]|[a-z])\w{0,29}$/

2./^([0-9]|[A-Z]|[a-z]|_){6,20}$/

3./^([A-Z]|[a-z])([0-9]|_|.){0,19}$/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值