您好我需要为电话号码构建一个正则表达式,例如:
+79261234567
+7 926 123 45 67
89261234567
79261234567
8(926)123-45-67
9261234567个
79261234567
89261234567
8-926-123-45-67
8 927 1234 234
8 927 12 12 888
8 927 12 555 12
8 927 123 8 123
我现在来到这个正则表达式:
/((8|\+7)[\- ]?)((\(?9\d{2}\)?[\- ]?)[\d\- ]{7,10})?[\d\- ]{10,10}/g
但它没有正确工作。任何帮助都将不胜感激
答案 0 :(得分:3)
您可以尝试:
var input = 'phone number',
output = input.replace(/\(([^)]+)\)/, '$1').replace(/(^\+)|[- ]+/g, ''),
result = /^\d{10,11}$/.test(output);
说明:
\(([^)]+)\) - looks for digits with brackets around them to be removed
(^\+)|[- ]+ - looks for starting `+` or whitespace/dash in number to be removed
^\d{10,11}$ - checks if number has exacly 10 to 11 digits