JS正则表达式

参考了该文章:http://www.cnblogs.com/aaronjs/archive/2012/06/30/2570970.html

正则表达式的作用

1、  匹配,也叫数据有效性验证

检查某段字符是否符合规定。如是否邮件地址格式,是否数字等。

2、  查找

根据模式匹配字符串,提取符合条件的子字符串。

3、  替换

在文档中使用正则表达式识别特定的文字,将其删除或替换成其他的文字。

正则表达式

常用的元字符

代码

说明

.

匹配除了换行符以外的任意字符

\w

匹配字母或数字或下划线或汉字

\s

匹配任意的空白符。

包括空格,制表符(Tab),换行符,中文全角空格等

\d

匹配数字

\b

匹配单词的开始或结束。

与“^”、“$”是同性质的字符,一个匹配单词,一个配置字符串。

^

匹配字符串的开始

$

匹配字符串的结束

数量表示

代码

说明

*

0次或者多次   >=0

+

1次或者多次  >=1

0次或者1次  0或1

{n}

n次   =n

{n,}

>=n

{n,m}

n<=  X   <= m

[]

匹配括号内的任意字符

[abc]àa或b或c

[a-zA-Z]àa\b\c\..z\A\B\C..\Z中的任何一个

|

或字符(分支),竖线左右多选一

(A|B) à  A或B

转义字符

当使用元字符本身时,需要转义

代码

说明

.

\.

\

\\

*

\*

|

\|

()

\(  \)

分支、分组

代码

说明

|

或字符(分支),竖线左右多选一

(A|B) à  A或B

()

分组条件,表示括号内的为一个组合,不可分开。

如:(0571)12345678 和 0571-12345678 号码格式

((\(\d{4}\))|(\d{4}-)){1}\d{8}

反义字符

有时我们需要的是非数字、非字母之类的判断

代码

说明

\W

\w的反面,非数字、字母、下滑线、汉字

\D

\d的反面,非数字

\S

\s的反面,非空白字符

\B

\b的反面,非字母开头或结尾的位置

[^xyz]

[xyz]的反面,非xyz的字母

如[^abc],除abc这几个字母以外的任意字符

JS正则表达式的使用

表达式定义

表达方式1

var re = new RegExp(p1);

var re = new RegExp(p1,p2);

表达方式2

var re = /a/gi;

参数p1

为正则表达式的文本内容

参数p2

为可选项标志,标志可以组合使用。g (全文查找)、i (忽略大小写)、m(多行查找)。

var re = new RegExp("a","gi");//匹配所有的a或A

表达式函数

test

在被查找的字符串中是否存在模式,如果存在则返回 true,否则就返回 false。

exec

用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。

compile

把正则表达式编译为内部格式,从而执行得更快。

表达式对象的属性

source

返回正则表达式模式的文本的复本。只读。

lastIndex

返回字符位置,它是被查找字符串中下一次成功匹配的开始位置。

input ($_)

返回执行规范表述查找的字符串。只读。

lastMatch ($&)

返回任何正则表达式搜索过程中的最后匹配的字符。只读。

lastParen ($+)

如果有的话,返回任何正则表达式查找过程中最后括的子匹配。只读。

leftContext ($`)

返回被查找的字符串中从字符串开始位置到最后匹配之前的位置之间的字符。只读。

rightContext ($')

返回被搜索的字符串中从最后一个匹配位置开始到字符串结尾之间的字符。只读。

String对象中的正则表达式方法

match

找到一个或多个正则表达式的匹配。

replace

替换与正则表达式匹配的子串。

search

检索与正则表达式相匹配的值。

split

把字符串分割为字符串数组。

使用示例

var re = /he/;

var str = "he"; 

alert(re.test(str));//true 

 

str = "HE"; 

alert(re.test(str));//false

re = /he/i; 

alert(re.test(str));//true 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值