<SCRIPT LANGUAGE="JavaScript">
var xxx = "www.baidu.com/index.html?name=123&title=456";
var re = /(name\=)([\w]*)(\&)(title\=)([\w]*)/g
xxx = xxx.replace(re,function($0,$1,$2,$3,$4,$5){return $1+'\''+$2+'\''+$3+$4+'\''+$5+'\''});
alert(xxx);
</script>
<body></body>
var xxx = "www.baidu.com/index.html?name=123&title=456";
var re = /(name\=)([\w]*)(\&)(title\=)([\w]*)/g
xxx = xxx.replace(re,function($0,$1,$2,$3,$4,$5){return $1+'\''+$2+'\''+$3+$4+'\''+$5+'\''});
alert(xxx);
</script>
<body></body>
var strurl="www.baidu.com/index.html?name=1w23&title=4_536";
strurl=strurl.replace(/=([\w]*)($|&)/gi,"='$1'$2");
alert(strurl)
</script>
//alert('')
var a="www.baidu.com/index.html?name=123&title=456"
alert(a.replace(/\=(.*?)(\&|$)/g,"='$1'$2"))
//alert(/^\(\d{3}\)\d{3}\-\d{4}$/.test('(121)123-123'))
</script>
?(/=([\w]*)($|&)/gi没有?却可以得到正确结果,究竟正则的匹配是一个怎样的过程呢?
替换后 都替换成='123'& or ='456'
?:出现零次或一次;
*:出现零次或多次;
+:出现一次或多次;
{n}:一定出现n次;
{n,m}:至少出现n次但不超过m次;
{n,}:至少出现n次;
1.4.2 贪婪的、惰性的和支配性的量词
贪婪量词先看整个字符串是不是匹配,如果没有发现匹配,先去掉最后字符串中的最后一个字符,并再次尝试,如果还没有发现匹配,那么再次去掉最后一个字符,这个过程会一直重复下去直到发现匹配或不剩任何字符串,上面的简单量词都是贪婪量词。
惰性量词先看字符串中的第一个字母是不是一个匹配,如果不匹配则继续读入下一个字符进行匹配,如果没有则一直匹配下去,与贪婪量词刚好相反,惰性量词用上面的简单量词跟一个?表示。
(.*?)是惰性量词 (加个?)
var t = "www.baidu.com\/index.html?name=123&title=456";
alert(t.replace(/([^&=]+)(?=&|$)/g, "'$1'"));var t = "www.baidu.com\/index.html?name=&title=456";
alert(t.replace(/=([^&]*)(?=&|$)/g, "='$1'"));
</script>
:D
/*<![CDATA[*/
var s = "www.baidu.com/index.html?name=123&title=456";
alert(s.replace(/(\d+)/g, "'$1'"));
/*]]*/
</script>
不要的。。
既然是非&就肯定不会有贪婪的形式。。
URL里所有的特殊字符都会转换成URLCODE
- -
\d....