源码干货

技术干货:JS正则表达式

2018-08-01  本文已影响4人  源码时代官方

一、概述

1、什么是正则表达式

正则表达式(Regular Expression)是一种用于描述字符串(文本)的规则模式。正则表达式由普通字符(例如字符a到 z)以及特殊字符(称为元字符)组成。在编写处理字符串的程序或网页时,经常会有查找符合某些规则的字符串的需求。正则表达式就是用于描述这些规则的工具。

2、正则表达式的作用

a)测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证

b)替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字

c)根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字

二、基本语法

a) 行定位符^ $

^匹配以开头

$匹配以结尾 

b) 选择字符|

匹配一个字符串和[] 的区别是 []只能匹配一个字符

c) 连字符–

0-9 等同于 0123456789

d) 排除字符[^]

e) 限定符?* + {n,m}

?前面的字符出现0次或1次

*前面的字符出现了0次或多次

+前面的字符出现了1次或多次

{n}前面的字符出现了n次

{n,}前面的字符出现了>n次

{n,m}前面的字符出现了m>次数>n次

f) 点号字符.

点代指任意资格字符

g) 转义字符\

三、js正则表达式创建与使用

1、javascript 正则表达式的声明方式    

a)正则表达式对象声明方式   

var reg = new RegExp("a","gi");

b)正则表达式字面量的声明方式

var reg = /a/gi;

2、正则表达式在js中的应用

a) test检查指定的字符串是否存在       

var data = "123123";       

var reCat = /123/gi;

     //   g全局模式  

//  i不区分大小写

       alert(reCat.test(data));  //true     

b) exec 返回查询值       

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";       

var reCat = /cat/i;       

alert(reCat.exec(data));  //Cat

c)match  得到查询数组       

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";      

 var reCat = /cat/gi;      

 var arrMactches = data.match(reCat)       

for (var i=0;i < arrMactches.length ; i++)       

{            

alert(arrMactches[i]);   //Cat  cat      

 }

d) search  返回搜索位置  类似于indexof      

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";      

 var reCat = /cat/gi;       

alert(data.search(reCat));  //23

e) replace  替换字符  利用正则替换       

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";      

 var reCat = /cat/gi;       

alert(data.replace(reCat,"libinqq"));

上一篇下一篇

猜你喜欢

热点阅读