正規表現にマッチする部分を表示または保存します.


下記の電話番号があります.
135888333
13658447322
13558885354
13587774654
13854554786
要求されているのは135の先頭の電話のみと一致するが、マッチング結果は135の後の数字だけを保持する.
JavaScriptの正则はサポートしていません(?=xx)xxxのパターンは、xxx(?=xx)のパターンだけをサポートします.したがって、135の後の内容は、サブ正規表現として一致するものとしてのみ、後から参照することができます.
 Carl       : 
 function f(phoneNumber) { 
   var pattern = /^(135)(\d{8})$/; 
     if(pattern.test(phoneNumber)) 
  return phoneNumber.replace(pattern,"$2"); 
   else 
  return "  135       !"; 
 } 
 /^(135)(\d{8})$/ 
正則では、135は、先頭として第1子正則表現を示し、第2括弧内の子正則表現は後の8つの数字にマッチし、次にreplaceで$2を使用すると、この子正則表現が一致する内容を引用することができる.テストコードは以下の通りです.
 <script type="text/javascript"> 
 function f(phoneNumber) { 
   var pattern = /^(135)(\d{8})$/; 
   if(pattern.test(phoneNumber)) 
  return phoneNumber.replace(pattern,"$2"); 
   else 
  return "  135       !"; 
 } 
 var arr = new Array( 
   "13588888333", 
   "13658447322", 
   "13558885354", 
   "13587774654", 
   "13854554786" 
 ); 
 for(var i = 0; i < arr.length; i++) 
   document.write(f(arr[i])+'<br />'); 
 </script>