正则表达式test()方法

正则表达式中的 test() 方法用来检测一个字符串是否匹配某个正则表达式

test() 方法的具体格式如下:
regexp.test(string)

regexp 表示正则表达式对象,参数 string 表示要检测的字符串。如果字符串 string 中含有与 regexp 正则表达式匹配的文本,则返回 true;否则返回 false。
示例1
在下面示例中,使用 test() 方法检测字符串中是否包含字符。

var s = "JavaScript";
var r = /\w/g;
var b = r.test(s);

同样使用下面正则表达式也能够进行匹配,并返回true。

var r = /JavaScript/g;
var b = r.test(s);

但是如果使用下面这个正则表达式进行匹配,就会返回 false,因为在字符串“JavaScript”中找不到对应的匹配。

var r = /\d/g;
var b = r.test(s);

在全局模式下,test() 等价于 exec() 方法。配合循环语句,它们都能够迭代字符串,执行全局匹配操作,test() 返回布尔值,exec() 返回数组或者 null。虽然 test() 方法的返回值是布尔值,但是通过正则表达式对象的属性和 RegExp 静态属性,依然可以获取到每次迭代操作的匹配信息。

示例2
针对上面示例,下面使用 test() 方法代替 exec() 方法可以实现相同的设计效果。

var s = "JavaScript";  //测试字符串
var r = /\w/g;  //匹配模式
while(r.test(s)) {  //循环执行匹配检测,如果true,则继续验证
    console.log("匹配文本 = " + RegExp.lastMatch + " r.lastIndex = " + r.lastIndex);
    //利用RegExp静态属性显示当前匹配的信息
}

RegExp.lastMatch 记录了每次匹配的文本,正则表达式对象的 lastIndex 属性记录下一次匹配的起始位置。

使用 test() 执行匹配时,IE 支持 RegExp.index 记录了匹配文本的起始下标位置、Regexp.lastIndex 记录下一次匹配的起始位置,但是其他浏览器不支持。

除了正则表达式内置方法外,字符串对象中很多方法也支持正则表达式的模式匹配操作,下面列表比较了字符串对象和正则表达式对象包含的 6 种模式匹配的方法,如表所示。
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Regex Testor Version 1.02 Copyright (c) 2013 Fiery Red - flameleo 我们在使用正则表达式( regex: regular expression )的过程中,经常发现正则表达式的语法很令人头疼,即使对经常使用它的人来说也是如此。对于刚接触正则表达式的人来说多练习,多使用,才能熟练掌握正则表达式。 由于难于读写,容易出错,且需要反复练习。所以找一种工具对正则表达式对我们脑中构思的regex进行测试是很有必要的。 1.特点 a.适合初学者,在不断测试用学习如何使用正则表达式。 b.可以分组保存,测试中用到的正则表达式。 c.本工具使用最常见的regex。以下是简单示例: a|b Matches a or b gr(a|e)y Matches a or e . Matches any single character [abc] Matches a single character a, b or c [^abc] Matches any single character except a, b or c [a-z] Matches a single charactor in the range a to z [a-zA-Z] Matches a single charactor in the range a to z or A to Z ^ Matches the start of the filename $ Matches the end of the filename * Matches the preceding element zero or more times ? Matches the preceding element zero or one times + Matches the preceding element one or more times {x} Matches the preceding element x times {x,} Matches the preceding element x or more times {x,y} Matches the preceding element between x and y times 值得一提的是()代表子匹配,有些环境中gr(a|e)y Matches gray or grey 还支持许多常见的转义字符 \b,\B,\c,\d,\D,\f,\n,\r,\s,\S,\t,\v,\w,\W,\x,\u 具体详见附件 Regular Expression Syntax1.html 2.功能介绍 a.界面上显示提供regex输入框和原文本框,点击[模式匹配]按钮后,会在右侧输出结果,包括匹配字符串列表和文本。 b.对于测试中一些有用的regex,点击[insert]按钮添加到模式列表,以备日后使用。你可以位该regex添加描述分组,该信息会在程序结束后保存在CustomPatternInfo.ini文件中。 c.可以参考Readme_1.jpq和Readme_2.jpq图片介绍。 3.有待改进 a.界面布局和控件友好型和交互性。 b.界面功能提供regex语法支持。(暂时可以通过导入附件RegexSystax.ini到CustomPatternInfo.ini中) 4.意见反馈 a.请将您的宝贵意见反馈到 FieryRed_2012@163.com 附件: Readme.txt Readme_1.jpg Readme_2.jpg Regular Expression Syntax.html RegexSystax.ini
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值