日期:2014-05-16  浏览次数:20407 次

正则关于$的问题。
代码如下:

var reg = new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gi");
var url = "http://www.qidian.com/BookReader/10133,222.aspx";
var rep = url.replace(reg,"$3$2$1");
alert(rep);

结果在安卓手机上的显示结果竟然就是“$3$2$1”。求解。
或者说有什么情况,会导致JS中的$不能用。
十分感谢啊。
正则 javascript $ 手机

------解决方案--------------------
或者说有什么情况,会导致JS中的$不能用。
使用 noConflict() 方法为 jQuery 变量规定新的名称:
var jq=$.noConflict();
这时$就会失效,可以用jq替代$.
------解决方案--------------------
引用:
Quote: 引用:

这样运行看看什么结果

var reg = new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gi");
var url = "http://www.qidian.com/BookReader/10133,222.aspx";
alert(reg);// 看下正则对不对
alert( reg.test(url) )
alert(RegExp.$1);

正则应该是没问题的,这是个移动OA开发的问题。在电脑模拟和苹果手机上都没问题,就安卓手机有问题。
所以想问下,是不是这样写的格式有问题,不太正规,或者JS版本等其他因素影响?

可能是浏览器的问题不是系统的问题,安卓上也可装不同的浏览器
你就单独运行上面那段代码是什么结果
------解决方案--------------------
new RegExp("(http:\/\/www.qidian.com\/BookReader\/)(\\d+),(\\d+).aspx","gi"); 
这样试试