【问题标题】:JS France phone number formatJS法国电话号码格式
【发布时间】:2022-11-29 16:41:17
【问题描述】:

我想在输入时格式化法国电话号码。 例如如果输入

0XXXXXXXXX 需要转换为 0X XX XX XX XX ,我已经用替换实现了:

.replace(/\B(?=(\d{2})+(?!\d))/g, " ");

但如果数字以 +33 开头,我也想格式化

+33XXXXXXXXX 需要转换为 +33 X XX XX XX XX

我怎样才能做到这一点? 注意:我需要在相同的输入中

谢谢

【问题讨论】:

    标签: javascript regex vue.js replace


    【解决方案1】:

    首先,在你的表达式中添加 +3 (?<!+3) 的负后视,所以它不应该在 +3 之后添加空格

    其次,使用逻辑 OR 运算符 | 添加另一个选项,并对 +33 B(?<=+33) 进行正面回顾

    所以最终结果将是:

    .replace(/B(?=(d{2})+(?!d))(?<!+3)|B(?<=+33)/g, " ");
    

    【讨论】:

    • 它在 IOS 上抛出错误“SyntaxError:无效的正则表达式:无效的组说明符名称”@MordyStern
    猜你喜欢
    • 2015-10-02
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2013-11-02
    相关资源
    最近更新 更多