FormBuilder проверка номера телефона

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
rAlex
Forum Members
Forum Members
Posts: 52
Joined: Tue May 26, 2009 9:59 am

FormBuilder проверка номера телефона

Post by rAlex »

Не нашел поиском (или не правильно искал).
Как сделать проверку поля в FormBuilder на номер телефона, российского формата?

Или как можно сделать чтобы было по модному, при клике на поле номера телефона появлялось вот такая структура +7 (___) ___-__-__ и по мере заполнения превращалось в номер телефона? На сайте МТС видел такой вариант заполнения, когда в личный кабинет входишь.

Спасибо заранее за ответы.
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: FormBuilder проверка номера телефона

Post by velden »

Sorry for English, my Russian isn't very good :)

For this (exact) format

Code: Select all

+7 (123) 123-45-78
try this:
fb00.JPG
Advanced tab of this field:
fb01.JPG
fb01.JPG (24.1 KiB) Viewed 4825 times
regex (for copy/paste):

Code: Select all

/^\+7\s\(\d{3}\)\s\d{3}-\d{2}-\d{2}$/
If you want the field to be required tick that specific check box.
rAlex
Forum Members
Forum Members
Posts: 52
Joined: Tue May 26, 2009 9:59 am

Re: FormBuilder проверка номера телефона

Post by rAlex »

Wow, thanks for such a quick response.

Но... еще осталась проблема. У меня на сайте поле формы подсвечивается красным, если вводится неправильное выражение, хорошо видно на поле для проверки e-mail. Как-то можно сделать такое же и для телефона?

Вот тут можно посмотреть, по ссылке http://techcomf.ru/index.php?page=dvigatel-bez-dprv
Одна просьба, не отправляйте форму, чтобы не сбивать с толку. Спасибо.
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: FormBuilder проверка номера телефона

Post by velden »

Ok, learned something new myself today:

Somewhere in the field element it should have a pattern attribute:

Code: Select all

pattern="^\+7\s\(\d{3}\)\s\d{3}-\d{2}-\d{2}$"
This will need some tricks to get it into the element though.

Code: Select all

<input type="text" pattern="^\+7\s\(\d{3}\)\s\d{3}-\d{2}-\d{2}$" name="m4b794fbrp__56" value="" size="25" maxlength="80" placeholder="+7 (___) ___-__-__" required="" id="fbrp__56">
One could use some quick and dirty Smarty regex replace on the Form Builder tag, or inside the Form Builder template if calling the fields separately. Perhaps it's possible using Javascript (jQuery?) too, to dynamically add the pattern attribute after creating the form.
User avatar
guro
Power Poster
Power Poster
Posts: 985
Joined: Thu Apr 26, 2012 8:38 pm
Location: Ramenskoe

Re: FormBuilder проверка номера телефона

Post by guro »

velden wrote:Somewhere in the field element it should have a pattern attribute:
Javascript для поля:
rAlex
Forum Members
Forum Members
Posts: 52
Joined: Tue May 26, 2009 9:59 am

Re: FormBuilder проверка номера телефона

Post by rAlex »

Спасибо большое. То что я и хотел сделать.
Еще раз спасибо!
rAlex
Forum Members
Forum Members
Posts: 52
Joined: Tue May 26, 2009 9:59 am

Re: FormBuilder проверка номера телефона

Post by rAlex »

guro wrote:
velden wrote:Somewhere in the field element it should have a pattern attribute:
Javascript для поля:
Да, так и сделал. Вставилось отлично.
Post Reply

Return to “Russian - русский”