这个是正确的,你可以查看以下exec的机制,给你一个列子:
<script LANGUAGE="javascript">
var str="index.php?cid=20";
var re=/\?cid=([0-9]+)/;
var cid=re.exec(str);
document.write("ID为:"+cid);
document.write("ID为:"+cid[1]);
</script>document.write("ID为:"+cid);是打印出处理后的字符串包括了匹配()里面的,这里就重复一次了.
document.write("ID为:"+cid[1]); 就是正则表达式中第一个()里面的匹配内容.如果你需要输出Opera 52.3.就变成如下:
<script type="text/javascript">
var sUserAgent ="Opera 52.3.43"
var reOperaVersion = /Opera (\d+\.\d+)+/;
var s = reOperaVersion.exec(sUserAgent);
alert(s[0]);
alert(RegExp.$1);
</script>
<script LANGUAGE="javascript">
var str="index.php?cid=20";
var re=/\?cid=([0-9]+)/;
var cid=re.exec(str);
document.write("ID为:"+cid);
document.write("ID为:"+cid[1]);
</script>document.write("ID为:"+cid);是打印出处理后的字符串包括了匹配()里面的,这里就重复一次了.
document.write("ID为:"+cid[1]); 就是正则表达式中第一个()里面的匹配内容.如果你需要输出Opera 52.3.就变成如下:
<script type="text/javascript">
var sUserAgent ="Opera 52.3.43"
var reOperaVersion = /Opera (\d+\.\d+)+/;
var s = reOperaVersion.exec(sUserAgent);
alert(s[0]);
alert(RegExp.$1);
</script>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货