gpt4 book ai didi

javascript - string.replace 在 Firefox 中不起作用?

转载 作者:行者123 更新时间:2023-11-30 12:46:31 24 4
gpt4 key购买 nike

我的 Oracle Apex 4.2 页面中有许多动态操作,在电话号码输入字段上有“执行 Javascript 代码”操作:

$s("P40_MOBILE_PHONE", $v("P40_MOBILE_PHONE").replace(/[()-\s]+/g, ''));

这适用于 IE 和 Chrome。然而,在 Firefox 中,它不仅不起作用,而且会导致页面上的所有其他动态操作完全停止工作。

这个和其他动态 Action 之间的唯一区别似乎是 string.replace(/[()-\s]+/g, '') 的使用。这应该从电话号码中去除所有空格、(, )- 字符。

最佳答案

正如@dandavis 在评论中所说,转义破折号有效(不过不需要转义括号)。

如果你尝试运行代码

/[()-\s]+/

你得到

SyntaxError: invalid range in character class

那是因为 Firefox 试图将破折号用作范围字符,而不是破折号。

要修复它,您可以:

  • 转义破折号:/[()\-\s]+/
  • 将破折号放在开头或结尾:/[-()\s]+/, /[()\s-]+/

关于javascript - string.replace 在 Firefox 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22339650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com