正規表現にマッチする部分を表示または保存します.
下記の電話番号があります.
135888333
13658447322
13558885354
13587774654
13854554786
要求されているのは135の先頭の電話のみと一致するが、マッチング結果は135の後の数字だけを保持する.
JavaScriptの正则はサポートしていません(?=xx)xxxのパターンは、xxx(?=xx)のパターンだけをサポートします.したがって、135の後の内容は、サブ正規表現として一致するものとしてのみ、後から参照することができます.
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>