IT虾米网

JavaScript 替换正则表达式 :(

kerrycode 2025年05月04日 程序员 35 0

我想在输入电话号码时替换无效字符

我想要的规则如下。

  • 第一个字符可以是“+”
  • 其余字符必须是数字 0-9

这就是我已经拥有的

phoneNumber.getValue().replace(/[^0-9,+]+/g, "");  

这可以工作,但不完全

但是我可以在字符串中的任何位置有一个“+” 如果它不是第一个字符,我想删除它,现在有人该怎么做

谢谢 阿杰

请您参考如下方法:

假设您不想包含逗号(即结果应该只是十进制数字,前面带有可选的+),那么这将做到这一点:

phoneNumber.getValue().replace(/(^\+)|\D+/g, '$1'); 

注释:

  • 使用 \D 非十进制数字字符类简写。 (即 \D 与:[^0-9] 相同。)
  • 利用这样一个事实:当捕获组不参与匹配时,仍然可以在替换字符串中引用它 - (将其替换为空字符串)。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!