b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

js 正则表达式语法大全_常用的正则表达式大全_正则表达式大全(15)

电脑杂谈  发布时间:2017-03-06 07:00:33  来源:网络整理

<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> 正则表达式替换变量

有一个数组:

var _A = ['A','B','C','D'];

有一个有“变量”的字符串。

var _B = '<ul><li>$0$</li><li>$1$</li><li>$2$</li><li>$3$</li></ul>';

说是变量,其实只是字符串中的特殊字符,例如$0$,就称这个为伪变量吧。

最后的要求就是使用正则获得下面这样一个字符串:

_C = '<ul><li>A</li><li>B</li><li>C</li><li>D</li></ul>';

IamUE给出了代码:

<script type="text/javascript">

var _A = ['A','B','C','D'];

var _B = '<ul><li>$0$</li><li>$1$</li><li>$2$</li><li>$3$</li></ul>';

var reg=/\$\d+\$/ig;

C=_B.replace(reg,function($1){

var indexnum=$1.replace(/\$/ig,"");

if (indexnum<_A.length)

{return _A[indexnum];}

else{return ""}

});

alert(C);

</script> 代码分析:看到代码之后感觉有点晕,首先,正则reg中没有任何的括号,应该是没有捕获内容的,那么后面怎么又使用$1了引用了呢?通过alert测试,发现它是整个正则匹配的内容,而且不一定要写作$1,可以写为$0,甚至是写为x都没关系,它总是整个匹配。

第一次,$1匹配到_B中的“$0$”,匿名函数中将它的$去掉,变成了0,检查是否越界之后,用这个0作为下标去访问数组_A。

由于正则reg定义了g属性,所以会继续替换$1$、$2$等等。步骤都和上面一样。

正则替换指定属性中的文本

有如下代码:

<td><img src="../photo/ccg/thumbnails/O'Malley's West_jpg.gif"><br>

O'Malley's West</td>


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-36054-15.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...