没有见过这种用法,倒时见过
name.replace(/([a-z])/,"$1"),这种用法, 这是正则表达式中的反向引用
将大写A-Z字母中的字母替换为-1$
<input id="ipbutton1" type="button" onclick="changeinput()" />
<script type="text/javascript" language="javascript">
function changeinput()
{
var input1 = "ACDdef";
input1 = input1.replace(/([A-Z])/g,"-1$");
alert( input1);
}
</script>
返回结果: -1$-1$-1$def
另补充:
1.
$1…$9属性。这些属性是只读的。如果表达式模式中有括起来的子匹配,$1…$9属性值分别是第1个到第9个子匹配所捕获到的内容。如果有超过9个以上的子匹配,$1…$9属性分别对应最后的9个子匹配。在一个表达式模式中,可以指定任意多个带括号的子匹配,但RegExp对象只能存储最后的9个子匹配的结果。在RegExp实例对象的一些方法所返回的结果数组中,可以获得所有圆括号内的子匹配结果。
2.
/^**$/这个$表示与
被搜索字符串的结束位置相匹配
/^[a-z]{2}-\\d{3,}$/比如这个正则表达式表示如果要匹配正确,字符串后面必须是3个以上的数字。比如"ab-1234"可以成功匹配,"ab-12"就不行了.
见过这种写法:name.replace(/([a-z])/,"-$1")
小妮子:解释很好。