Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка поля номера телефона (https://javascript.ru/forum/misc/37934-proverka-polya-nomera-telefona.html)

iskander83 14.05.2013 14:56

Проверка поля номера телефона
 
Друзья помогите пожалуйста добавить проверку в поле для воода телефона. щас она прооверяет на пустоту на количество (менее 7 символов), а вот проверку на цифры, плюс, минус, пробел, скобки и т.д., КРОМЕ БУКВ чето не получается привязать...
if (phone.length == 0)
{
			$(_phone).watermark('Заполните, пожалуйста поле');
			errors = true;
		}
		else if (phone.length < 7)
		{
			
			errors = true;
		alert('Введите Ваш номер телефона в виде +7-888-777-55-33');	
		}
		else if (!preg_match('(?:8|\+7)? ?\(?(\d{3})\)? ?(\d{3})[ -]?(\d{2})[ -]?(\d{2})$/i'))
		{
			errors = true;
		alert('KOSYAK');	
		}


Косяк где то здесь
else if (!preg_match('(?:8|\+7)? ?\(?(\d{3})\)? ?(\d{3})[ -]?(\d{2})[ -]?(\d{2})$/i'))
		{
			errors = true;
		alert('KOSYAK');	
		}

так как все остальное нормально работает. Может как-то по-другому можно...

ruslan_mart 14.05.2013 15:06

Цитата:

Сообщение от iskander83
preg_match

Так это же PHP фукция, а не JS, нет?

iskander83 14.05.2013 15:22

у меня это в скрипте прописано
А решение нашел такое
if (phone.length == 0)
		{
			$(_phone).watermark('Заполните, пожалуйста поле');
			errors = true;
		}
		else if (phone.length < 7)
		{
			
			errors = true;
		alert('Введите Ваш номер телефона в виде +7-888-777-55-33');	
		}
		digits="0123456789+-() "
		for(i=0; i<1; i++)
if (digits.indexOf(phone.charAt(i))<0)
{alert("Это должны быть цифры")
document.dataentry.phone.focus()
break
}


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


Часовой пояс GMT +3, время: 14:41.