2013-10-26 2 views
1

У меня есть сценарий ниже, который проверяет, чтобы поле формы для номера телефона содержало 10 digtis, учитывайте дефис и() символы. Вопрос, который у меня есть, - это много раз, когда люди будут помещать номер телефона на расстоянии от 000 000 0000Проверка формы - Javascript Remove Space Номер телефона

Когда сценарий называется, он выдает сообщение об ошибке. Как я могу использовать сценарий ниже, но разрешить пробел в указанном формате 000 000 0000, не выдавая ошибку?

Спасибо за помощь!

   function validateTel(telnum) { 
       if (telnum.match(/^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$/)) { 
       return true; 
       } else { 
       return false; 
       } 
       } 
+0

лучше настроить минимальную и максимальную длину вашего текстового поля на 10 и сделать nt позволяет пользователю вводить в него что-либо, кроме цифр, не нужно символов или пробелов –

ответ

0

Вы можете использовать регулярное выражение для поиска телефонных номеров

^\d{3}[ ]{0,1}\d{3}[ ]{0,1}\d{4}$ 

Проверить объяснение здесь http://regex101.com/r/iG2fV4

Пример:

var telRegExp = /^\d{3}[ ]{0,1}\d{3}[ ]{0,1}\d{4}$/; 

console.log("1234567890".match(telRegExp)) 
console.log("123 456 7890".match(telRegExp)) 
console.log("123 4567890".match(telRegExp)) 
console.log("123456 7890".match(telRegExp)) 
console.log("a1234567890".match(telRegExp)) 

Выход

[ '1234567890', index: 0, input: '1234567890' ] 
[ '123 456 7890', index: 0, input: '123 456 7890' ] 
[ '123 4567890', index: 0, input: '123 4567890' ] 
[ '123456 7890', index: 0, input: '123456 7890' ] 
null 
0

Как насчет использования якорей?

/^\d{10}$/ 

или может быть это регулярное выражение: -

/^\+?\d{2}[- ]?\d{3}[- ]?\d{5}$/ 

или может быть это регулярное выражение, которое будет охватывать большинство случаев для проверки телефонных номеров:

^(?:\+?\d{2}[ -]?\d{3}[ -]?\d{5}|\d{4})$ 

Regex Demo

Смежные вопросы