JS 正则表达式

JS正则表达式实战

基本语法 :

 

1. 方式一

 

/expression/  正则表达式模式 (expression) 均存储在RegExp 对象的Pattern 属性中。

 

//下面是通过String对象的match方法 进行匹配
var  codeText = document.getElementById('code').value;
   //   /expression/  匹配2位数字 例如 :00 , 01, 10 等    
   var result = codeText.match(/^[0-9]{2}$/g);  
  
   if(result)
   {
     alert('匹配成功');
   }
   else
   {
      alert('匹配不成功');
   }

 

// 注 正则表达式模式  规范 // 

 

//其中 g 表示匹配模式 全文匹配  result  是返回的匹配数组 ,如果match方法没有匹配成功 ,则返回 null

 

//i 表示忽略大小写

 

2.  方式二

 下面的例子 和上面的是一样的,只是直接用RegExp对象

 

function matchDemo(){
   var s;
   var re = new RegExp("^[0-9]{2}$","");
   var  codeText = document.getElementById('code').value;
   var result = re.exec(codeText);
    if(result)
   {
     alert('匹配成功');
   }
   else
   {
      alert('匹配不成功');
   }}

 其中 RegExp对象 构造 参数 第一个是 表达式 ,不需要斜杠了 。第二个参数是 g或者i  不写 默认为g 全文的

在这里 的 new RegExp("^[0-9]{2}$","g")   与    /^[0-9]{2}$/g 等价的 

 

 

来点简单应用

 

JS去掉前后空格
   function Trim(value) { return value.replace(/(^\s*)|(\s*$)/g, ""); }   
      function Ltrim(value) { return value.replace(/(^\s*)/g, ""); }
      function Rtrim(value) { return value.replace(/(\s*$)/g, ""); } 

 

 

以下来自资料

 

 

RegExp 对象

保存有关正则表达式模式匹配信息的固有全局对象。

RegExp.property

必选项 property 参数是 RegExp 对象的任意一个属性。

说明

RegExp 对象不能直接创建,但始终可以使用。在成功的正则表达式查找完成之前,RegExp 对象各属性的初始值如下所示:

 

属性简写初始值
index -1
lastIndex -1
lastMatch $&空字符串。
lastParen $+空字符串。
leftContext 空字符串。
rightContext 空字符串。
$1 - $9 $1 - $9空字符串。

在成功的正则表达式查找完成之前,其属性值为 undefined

不要将全局 RegExp 对象与 正则表达式 对象混淆。尽管听起来像是一回事,但它们是截然不同的。全局 RegExp 对象的属性包含不断更新的关于每个匹配出现的信息,而正则表达式对象只包含出现正则表达式匹配的信息。

示例

下面的例子演示了全局 RegExp 对象的用法。

function matchDemo(){
   var s;
   var re = new RegExp("d(b+)(d)","ig");
   var str = "cdbBdbsbdbdz";
   var arr = re.exec(str);
   s = "$1 contains: " + RegExp.$1 + "\n";
   s += "$2 contains: " + RegExp.$2 + "\n";
   s += "$3 contains: " + RegExp.$3;
   return(s);
}

 

 其中全局的REgExp和自己new的 是有区别的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值