以下正则表达式:
x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, "-"); 
Run Code Online (Sandbox Code Playgroud)
加破折号后每3性格让输入123456789变成123-456-789.我试图用这个正则表达式来格式化电话号码.问题出现在第10个字符上.所以进入1234567890变成了1-234-567-890.
如何修改上述正则表达式以将具有10位数的字符串转换为123-456-7890.我使用这个正则表达式,因为这发生在用户键入时使用keyup事件.
如果您知道更容易或更好的方法,请帮助我,在用户输入时必须添加破折号.不允许其他字符.
笔记: