AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.06.2008, 15:27   #1  
Talisman2005 is offline
Talisman2005
Участник
 
53 / 11 (1) +
Регистрация: 23.04.2008
Адрес: Украина, Киев
Шаблон заполнения поля Телефон
Привет всем, на полях, где укзаывают телефонный номер поставил шаблон для коректного ввода, по единому стандарту (код представлен ниже). Подскажите как можно сделать проверку по нескольким шаблонам введения телефонных номеров (например, х(хххх)хх-хх-хх также х(ххххх)х-хх-хх.

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() ;
}
Старый 13.06.2008, 08:57   #2  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Полагаю добавить несколько регульяных выражений и проверять их по очереди:
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, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional

Последний раз редактировалось Артем Enot Грунин; 13.06.2008 в 09:06.
Старый 17.06.2008, 10:28   #3  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Согласен с Артемом. Когда речь идет о клиентской базе и клиентских менеджерах - порядок в данных лучше наводить ненавязчиво, а принуждать к чему-то пользователей - бесполезная трата времени и сил. А что касается номеров телефонов - масок будет слишком много - я лично исследовал этот вопрос не так давно. Слишком много факторов нужно учитывать: страну клиента, город. Да даже и в этом случае есть такая вещь как внутренний номер, существование которого ломает все возможные схемы и маски. Советую Вам сделать так: если программно можете обработать по шаблону введенный номер - обрабатывайте и форматируйте, а если нет такой возможности - ведите лог таких случаев и проводите разбор номера вручную, с корректировкой вашего алгоритма. Таким образом через полгодика Ваш лог будет стремительно пустеть и в конце концов Вы получите резултат без принуждения.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить значение поля одной сущности при обработке формы другой сущности zhenek Dynamics CRM: Разработка 25 05.07.2011 16:19
как создать шаблон письма для Custom сущности GromRom Dynamics CRM: Функционал 4 20.11.2009 11:35
Как программно задавать обязательность поля на форме при заполнении? Bakai Madybaev Dynamics CRM: Функционал 6 10.10.2008 11:46
Динамические поля в правилах Workflow Evegeniy Dynamics CRM: Разработка 1 12.01.2007 09:07
Как создать правила заполнения для поля Boris Ilyin Dynamics CRM: Разработка 3 07.06.2006 10:23

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:32.