js 正規表示式

jsjqjy發表於2009-10-09

基本語法 :

 

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的 是有區別的

 

相關文章