jquery--正则表达式

正则表达式

1、什么是正则表达式:
能让计算机读懂的字符串匹配规则。

2、正则表达式的写法:
var re=new RegExp('规则', '可选参数');
var re=/规则/参数;

3、规则中的字符
1)普通字符匹配:
如:/a/ 匹配字符 ‘a’,/a,b/ 匹配字符 ‘a,b’

2)转义字符匹配:
\d 匹配一个数字,即0-9
\D 匹配一个非数字,即除了0-9
\w 匹配一个单词字符(字母、数字、下划线)
\W 匹配任何非单词字符。等价于[^A-Za-z0-9_]
\s 匹配一个空白符
\S 匹配一个非空白符
\b 匹配单词边界
\B 匹配非单词边界
. 匹配一个任意字符,除了换行符‘\n’和回车符‘\r’
\1 重复子项

4、量词:对左边的匹配字符定义个数
? 出现零次或一次(最多出现一次)
+ 出现一次或多次(至少出现一次)
* 出现零次或多次(任意次)
{n} 出现n次
{n,m} 出现n到m次
{n,} 至少出现n次

5、任意一个或者范围
[abc123] : 匹配‘abc123’中的任意一个字符
[a-z0-9] : 匹配a到z或者0到9中的任意一个字符

6、限制开头结尾
^ 以紧挨的元素开头
$ 以紧挨的元素结尾

7、修饰参数:
g: global,全文搜索,默认搜索到第一个结果接停止
i: ingore case,忽略大小写,默认大小写敏感
m: multiple lines,多行搜索(更改^ 和$的含义,使它们分别在任意一行对待行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配)

8、常用函数
1、test
用法:正则.test(字符串) 匹配成功,就返回真,否则就返回假

2、search
用法:字符串.search(正则) 匹配成功,返回位置,否则返回-1

3、match
用法: 字符串.match(正则);匹配成功,就返回匹配成功的数组,否则就返回null

4、replace
用法:字符串.replace(正则,新的字符串) 匹配成功的字符去替换新的字符

正则默认规则
匹配成功就结束,不会继续匹配,区分大小写

 1 <!doctype html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport"
 6           content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 8     <title>正则表达式</title>
 9 
10     <script type="text/javascript" src="../js/jquery-1.12.4.min.js"></script>
11     <script type="text/javascript">
12 
13         //定义一个正则的规则:
14 
15         // 第一种定义方法:
16         var re=new RegExp('a','ig');
17 
18         // 第二种定义方法:
19         var re2=/ad/ig;
20 
21         var str='abc';
22 
23         //alert(re2.test(str));  弹出false
24 
25         // ^匹配开头 $匹配结尾
26         var re3=/^\d$/;
27         var str3='123abc'
28         //alert(re3.test(str3));   false
29 
30         var re4=/^\w$/;
31         var str4='sh$q'
32         //alert(re4.test(str4));   false
33 
34         var str5 = '123adfcd678jasdfjk988lkjkasd345';
35         var re5=/\d+/g;     //g: global,全文搜索,默认搜索到第一个结果接停止
36         //alert(str5.match(re5));  //弹出123,678,988,345
37 
38         var re6=/d/;
39         //alert(str5.search(re6));  //弹出4
40 
41         alert(str5.replace(re5,'*'));  //弹出*adfcd*jasdfjk*lkjkasd*
42 
43 
44     </script>
45 </head>
46 <body>
47 
48 </body>
49 </html>

posted on 2019-12-29 20:37  cherry_ning  阅读(314)  评论(0)    收藏  举报

导航