加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式(二)

发布时间:2020-12-13 19:53:48 所属栏目:百科 来源:网络整理
导读:RegExp对象也有属性和方法 a 属性 global-----boolean值,表示全局选项(g)是否设置 ignoreCase---boolean值,表示i(忽略大小写)是否设置 lastIndex----整数 , 代表下次匹配将从哪个位置开始(只有使用了exec()或test()函数才会填入,否则为0) multilin

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静态属性

对所有的正则表达式均有效,有两个名字

长名 短名 描述

input $_ 最后用于匹配的字符串(传递给exec()或test()的字符串)

lastMatch $& 最后匹配的字符

lastParen $+ 最后匹配的分组

leftContext $` 在上一次匹配前面的子串

multiline $* 用于指定所有的表达式都使用多行模式的boolean

rightContext $' 在上一次匹配后面的子串



<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"));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读