带有x转义序列的JS正则表达式在Firefox中不起作用
JS regex with x escape sequence not working in Firefox
我有这个函数,它应该替换URL中的?paging={something}
和&paging={something}
。
下面的正则表达式适用于任何地方,但不适用于Firefox,有什么问题吗?
function myPagination(){
var url = window.location.href.replace(/'?paging=(.+?)'x/, "");
console.log(url);
url = url.replace(/'&paging=(.+?)'x/, "");
console.log(url);
return url + addPaging();
}
这肯定是人为错误,因为'x
是一个未知的转义序列,后面没有十六进制数字。
看看Mathias Bynens的JavaScript字符转义序列参考:
没有特殊含义的字符也可以转义(例如
''a' == 'a'
),但这当然不是必需的。但是,在Unicode转义序列之外使用'u
或在十六进制转义之外使用'x
是规范所禁止的,并且会导致某些引擎抛出语法错误。
规范中只提到:
HexEscapeSequence::
x六进制数字六进制数字
因此,如果您计划匹配x
,只需使用x
,而不使用前面的'
编写正则表达式时的经验法则:永远不要使用模棱两可的模式!
相关文章:
- 为什么javascript:void(0)在Firefox中不起作用
- jpm的默认Firefox路径没有'不起作用
- 设置 CSS 背景在 Firefox 中不起作用
- document.getElementById 在 Firefox 中不起作用
- firefox中的CSS动画不起作用
- event.stopPropagation()在firefox javascript中不起作用
- 复选框.onClick在firefox中不起作用
- window.close();在Chrome和Firefox中不起作用
- JQuery在Chrome中不起作用,但Firefox很好
- 选择“行在 Chrome 和 Firefox 中不起作用(生成的代码)”
- Javascript 按键事件在 Firefox 中不起作用
- window.dispatchEvent 在 Firefox、Safari 或 IE 中不起作用
- 更改 Angular 2 中选择的事件在 Firefox 和 Edge 中不起作用
- jQuery SlideToggle() 在 FireFox 中不起作用,在 Chrome 中工作
- 动态关键帧插入在 IE 或 Firefox 上不起作用
- 使用 nameProp 的 JQuery 图像滚动更新在 Firefox 和 Chrome 中不起作用
- Javascript键码在Firefox中不起作用,但在chrome中运行良好
- HTML5<视频>元素在Firefox、Opera和Safari中不起作用
- 输入类型的图像在Internet Explorer中不起作用,但在Chrome和Firefox中起作用
- 使用量角器双击在chrome中效果良好,但在firefox中不起作用