|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.01.2015, 12:27 | #1 |
Пользователь
Регистрация: 12.02.2014
Сообщений: 73
|
регулярные выражения
Добрый день!
Суть проблемы, нужно подменять маску в зависимости от введенных данных Вся информация о нужных масках хранится в json Код:
Код:
Код:
|
26.01.2015, 13:05 | #2 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,619
|
Когда создаете объект регулярного выражения при помощи конструктора RegExp, слеши в начале и конце использовать не нужно.
Например: Код:
И еще одно - если используете индикатор начала (^), то используйте и индикатор конца выражения ($). В данном случае это убережет вас от ложных срабатываний, если кто-то захочет после номера телефона вставить буквы или еще какие-то символы. Например, регулярное выражение для украинских номеров может быть переписаное следующим образом: Код:
Можете подобрать то, что вам подходит на сайте - http://regexplib.com/ По поводу же общего кода, мой вам совет - используйте Array functions, в данном случае map. Вам не нужно будет использовать key и обращаться к элементам массива по именам. Код:
Код:
Последний раз редактировалось MaTBeu; 26.01.2015 в 13:17. |
26.01.2015, 13:10 | #3 |
Пользователь
Регистрация: 12.02.2014
Сообщений: 73
|
ок, спасибо большое, особенно за замечания по регулярным, они для меня пока темный лес(
|
26.01.2015, 13:19 | #4 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,619
|
|
26.01.2015, 14:03 | #5 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
А когда ты эту проверку проводишь?
При вводе? Если да, то ты напрасно аяксы гоняешь, лучше закешировать при старте. При отправке? Тогда зачем это тут проверять, а не на сервере? При старте? Тога поле еще пустое.
Alar, верни репу!
|
26.01.2015, 15:11 | #6 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,619
|
Насчет отправки не согласен. Зачем отправлять запрос на сервер, если заведомо невалидный ввод можно отсечь на клиенте?
|
26.01.2015, 15:46 | #7 | |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
Цитата:
Так то да, конечно, лишним не будет.
Alar, верни репу!
|
|
26.01.2015, 16:15 | #8 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,619
|
Согласен, в ajax callback проверять это все - сомнительная затея. Да и вообще я вижу, проще кешировать эти все коды, а потом поставить на поле ввода функцию-обработчик с debounce, и там уже проверять.
|
28.01.2015, 14:37 | #9 |
Пользователь
Регистрация: 12.02.2014
Сообщений: 73
|
Проверяется при старте, форма вытаскивается аяксом и уже с номером, номер всегда заранее известен, но только в формате 777788877, после как форма получена я уже подбираю маску
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Регулярные выражения | kilogram | PHP | 4 | 10.06.2012 00:44 |
регулярные выражения | Sparky | Помощь студентам | 4 | 18.04.2012 18:58 |
регулярные выражения | CodeNOT | PHP | 2 | 12.02.2012 14:00 |
регулярные выражения | vvsh | PHP | 3 | 22.04.2011 17:09 |
регулярные выражения | Dimarik | PHP | 10 | 09.12.2010 21:19 |