![]() |
#1 |
Участник
|
Шаблон заполнения поля Телефон
Привет всем, на полях, где укзаывают телефонный номер поставил шаблон для коректного ввода, по единому стандарту (код представлен ниже). Подскажите как можно сделать проверку по нескольким шаблонам введения телефонных номеров (например, х(хххх)хх-хх-хх также х(ххххх)х-хх-хх.
var strInput = crmForm.all.telephone1.DataValue; var strInputCleaned = strInput.replace(/[^0-9,\-,\(,\)]/g, ""); var regexCell = /^[0-9]\d{0}\(\d{3}\)\d{3}-\d{2}-\d{2}/; // Test the cleaned email string against the email regular expression if ( (regexCell.test(strInputCleaned)) ) { crmForm.all.telephone1.DataValue = strInputCleaned; } else { alert("Введений номер не відповідає масці 0(000)000-00-00 "); crmForm.all.telephone1.DataValue = ""; crmForm.all.companyname.SetFocus() ; crmForm.all.telephone1.SetFocus() ; } |
|
![]() |
#2 |
Moderator
|
Полагаю добавить несколько регульяных выражений и проверять их по очереди:
var pattern1 = /^[0-9]\d{0}\(\d{3}\)\d{3}-\d{2}-\d{2}/; var pattern2 = /^[0-9]\d{0}\(\d{4}\)\d{2}-\d{2}-\d{2}/; var pattern3 = /^[0-9]\d{0}\(\d{5}\)\d{1}-\d{2}-\d{2}/; if (pattern1.test(telephone)) {...} else if (pattern2.test(telephone)) {...} и т.д. Примеры я привел чисто по аналогии. Синтаксис регулярных выражений JS можно легко найти в Интернет. Честно говоря, не рекомендую вам делать такие вот проверки. Практика показывает, что пользователей ужасно раздражают подобный надзор со стороны системы. Ваш код (crmForm.all.telephone1.DataValue = "" ![]()
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() Последний раз редактировалось Артем Enot Грунин; 13.06.2008 в 09:06. |
|
![]() |
#3 |
Заноза в заднице
|
Согласен с Артемом. Когда речь идет о клиентской базе и клиентских менеджерах - порядок в данных лучше наводить ненавязчиво, а принуждать к чему-то пользователей - бесполезная трата времени и сил. А что касается номеров телефонов - масок будет слишком много - я лично исследовал этот вопрос не так давно. Слишком много факторов нужно учитывать: страну клиента, город. Да даже и в этом случае есть такая вещь как внутренний номер, существование которого ломает все возможные схемы и маски. Советую Вам сделать так: если программно можете обработать по шаблону введенный номер - обрабатывайте и форматируйте, а если нет такой возможности - ведите лог таких случаев и проводите разбор номера вручную, с корректировкой вашего алгоритма. Таким образом через полгодика Ваш лог будет стремительно пустеть и в конце концов Вы получите резултат без принуждения.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! |
|
|
|