正则表达式(二)
RegExp对象也有属性和方法 a 属性 global-----boolean值,表示全局选项(g)是否设置 ignoreCase---boolean值,表示i(忽略大小写)是否设置 lastIndex----整数,代表下次匹配将从哪个位置开始(只有使用了exec()或test()函数才会填入,否则为0) multiline ---boolean值,表示m(多行模式)是否设置 source-----正则表达式源字符形式。例如:表达式/[ba]*/返回的结果是[ba]*
例如: <script type="text/javascript"> var reTest=/[ba]*/i; alert(reTest.global);// false alert(reTest.ignoreCase);// true alert(reTest.multiline);// false alert(reTest.source);// [ba]* </script> lastIndex的用法如下:可以匹配到返回字符串的位置
<script type="text/javascript"> var stoMatch="bbq is short for barquence"; var reB=/b/g; alert( reB.exec(stoMatch));//返回匹配的字符 b alert(reB.lastIndex);//匹配1 reB.exec(stoMatch); alert(reB.lastIndex);//匹配2 reB.exec(stoMatch); alert(reB.lastIndex);//匹配18 </script> b静态属性
<script type="text/javascript"> var stoMatch="bbq is short for barquence,a short number"; var reB=/(s)hort/g; reB.test(stoMatch); alert(RegExp.input);//bbq is short for barquence,a short number 总是等于测试用的字符串 alert(RegExp.lastMatch);//short 最后匹配的正则字符串 alert(RegExp.lastParen);//s 最后匹配的分组 alert(RegExp.multiline );//undefined alert(RegExp.rightContext );//for barquence,a short number 第一个short之后的所有字符 alert(RegExp.leftContext );//bbq is 第一个short之前的所有字符 alert(RegExp.$_);//等同于 RegExp.input alert(RegExp["$&"]);//等同于 RegExp.lastMatch alert(RegExp["$+"]);//等同于 RegExp.lastParen alert(RegExp["$*"]);//等同于 RegExp.multiline alert(RegExp["$'"]);//等同于 RegExp.rightContext alert(RegExp["$`"]);//等同于 RegExp.leftContext </script>
一个匹配日期的正则表达式 例如: //日1~31,月1~12,年 四位数字 function isValidate(str){ var reDate= /(?:0[1-9]|[12][0-9]|3[01])/(?:0[1-9]|1[0-2]/)/(?:19|20d{2})/; return reDate.test(str); } var strDate=/(?:0[1-9]|[12][0-9]|3[01])/; //alert(strDate.test("35")); alert(isValidate("05/05/2005")); alert(isValidate("05/05/1005"));(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |