在JS中,正则表达式事实上是一个对象,称之为RegExp类型,风格很类似于Perl。
常见的定义办法,也称为字面量形式,就是:
var reg=/pattern/flags
其中flags可以是多种选项的组合,这些选项包括:
i-- 不区分大小写(case--insentive),即在确定匹配项的时候不区分大小写
g-- 表示全局模式(global),即模式被应用于所有的字符串
m-- 表示多行模式(multiline) ,即在达到一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项
另外一种方式就是利用RegExp构造函数。它接受两个参数,第一个参数表示模式,而第二个参数表示可选项(就是i,g,m),例如:
var reg=/.at/i //以不区分大小写的形式匹配以at结尾的长度为3的字符串 //等效于 var reg=new RegExp("\.at","i");
正则表达式对象RegExp主要有以下两个方法:
第一个方法:exec 这个方法专门用来捕获匹配组的,它接受一个String类型的参数,返回匹配项的数组,如果没有匹配项则返回null。返回的数组虽然是Array的实例,但它具有额外的两个属性:index和input,其中index表示匹配项在字符串中的位置,而input表示应用正则表达式的字符串。例如:
var text="mom and dad and baby"; var pattern=/mom( and dad( and baby)?)?/; var matches=pattern.exec(text); alert(matches.index);//输出0 alert(matches.input);//输出mom and dad and baby alert(matches[0]);//输出mom and dad and baby alert(matches[1]);//输出and dad and baby alert(matches[2]);//输出and baby
var s2 = "140402001>SPF=3=0,140402002>RQSPF=3=-1,140402003>SPF=1=0,140402004>RQSPF=3=1_3_0.08"; var res = s2.match(/\d{9}/g); //存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。
即[140402001,140402002,140402003,140402004]
var re = new RegExp("(\\d{9}).*(\\d{9}).*"); var matches = re.exec(s); if (matches != null) { for (var i=1; i<matches.length; i++) { allItem.push(matches[i]); } }
则只能得到固定的匹配,如果想得到4个分组,必须写4个(\\d{9}) 。
所以有时用String对象的match方法来获取分组更合适。
第二个方法:test(),它接受一个字符串参数。在模式与该参数匹配的情况下返回True,否则返回False。这个方法只关注模式是否与字符串匹配,至于为什么不匹配,就无关紧要了。例如:
var pattern=/\d{3}-\d{2}-\d{3}/; var str="000-00-000"; if(!pattern.test(str)){ alert("The pattern was not matched"); }
相关推荐
javascript正则表达式迷你书 (1).pdf
javascript正则表达式详解 (chm)
网上看到的一篇介绍Javascript正则表达式的文章,感觉非常不错,整理了一下导出成PDF,有兴趣的看一下。文章属于转载,文档中注明了出处。
JavaScript正则表达式迷你书,学习javascript的宝典。
了解正则表达式概念 掌握正则表达式的语法 熟练掌握正则表达式在JavaScript中的应用
正则表达式可以: •测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证 •替换文本。可以在文档中使用一个正则表达式...
经典JavaScript正则表达式实战 目录 1. 正则表达式实战...1 2. 匹配结尾的数字...2 3. 统一空格个数...3 4. 判断字符串是不是由数字组成...3 5. 电话号码正则...3 6. 手机号码正则表达式...4 7. 使用正则...
经典Javascript正则表达式 正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。 匹配中文字符的正则表达式: [\...
常用Javascript正则表达式汇总,常用Javascript正则表达式汇总
JavaScript正则表达式验证身份证号码是否合法(两种方法)分析.docx
主要介绍了JavaScript正则表达式匹配<div><style>标签 的相关资料,需要的朋友可以参考下
Javascript正则表达式测试网页.rar 学习和做网页时使用的手册
JJavaScript正则表达式下——相关方法 search match replace
javascript正则表达式表单验证大全非常好用!
快速的掌握简单的java、JavaScript正则表达式,
Regulex是一款JavaScript正则表达式解析和可视化工具。通过该工具可以对任何正则表达式进行解析,并以可视化图表的显示显示该正则表达式的解析流程结构,还可以将图表导出为图片。
给定正则表达式/^(SE)?[0;有关RegExp类的test方法正确的结论;已知Visa卡号可能有13位或者16位,
javascript正则表达式
许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理...