Regex不适用于Firefox,但适用于Chrome
Regex not working in Firefox, but working in Chrome
我有一个正则表达式:
var message = message.replace(/<a.+?data-pageid=(?:"|')('d+)(?:"|').+?<'/a>/g, '@[$1]');
它适用于Chrome和ctrns这个文本。。。
'some text <a contenteditable="false" data-pageid="2">some more text</a>'
插入此文本。。。
'some text @[2]'
然而,对于Firefox来说,它不起作用。也没有错误通知。它似乎只是"忽略"了正则表达式。有什么想法吗?
基于同名的变量将其声明为新变量有意义吗?
原件:
var message = 'some text <a contenteditable="false" data-pageid="2">some more text</a>'
var message = message.replace(/<a.+?data-pageid=(?:"|')('d+)(?:"|').+?<'/a>/g, '@[$1]');
在Firefox 36.0.1(以及其他版本,请参阅上面的注释)上,这会将message
设置为some text @[2]
。
删除第二个声明:
var message = 'some text <a contenteditable="false" data-pageid="2">some more text</a>'
message = message.replace(/<a.+?data-pageid=(?:"|')('d+)(?:"|').+?<'/a>/g, '@[$1]');
这仍然可以在原来工作的地方工作,但可能在处理范围不同的地方工作。我在猜测这个问题,因为我无法复制它。
为了更好地解决问题,请提供您的Firefox版本和示例实现。
相关文章:
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- Regex不适用于Firefox,但适用于Chrome
- 关闭当前选项卡并打开一个新的-仅适用于Chrome
- 向下滚动时隐藏菜单,向上滚动时显示,适用于Chrome,不适用于Safari(手机)
- Mozilla并没有完美地执行这段代码,尽管它适用于Chrome和IE
- Angularjs ng-options 问题仅适用于 Chrome 浏览器
- 支持 JavaScript 的检查例程适用于 Chrome/Opera/IE,但不适用于 Firefox/Safari
- javascript单选按钮验证,适用于chrome,不适用于IE
- getElementsByTagName未保存(仅适用于chrome)
- 在bookmarklet中使用@import和@font face(适用于Chrome,但不适用于Firefox)
- Ajax成功回调仅适用于Chrome
- ScrollTop适用于Chrome和Edge,但不适用于Firefox
- jQuery适用于Chrome、Firefox、IE,但不适用于iPhone
- minlength仅适用于Chrome
- 自动完成功能适用于Chrome,但不适用于IE
- Javascript仅适用于Chrome
- formatDate JavaScript 函数仅适用于 Chrome
- Javascript String to Date适用于Chrome,而不是FF或Safari
- 文件上传代码适用于Chrome和Mozilla,但不适用于IE 8,9
- 地理编码器仅适用于chrome,不适用于Firefox / IE / android