2013-04-24 5 views
0

Я пытаюсь сделать сайт регистрации на WordPress, который также потребовал подтверждения SMS-телефона. Проблема в том, что мой сайт связан с Пакистаном. Я также хочу зарегистрировать пользователей из Пакистана. Но шлюз SMS может отправлять sms по всему миру, поэтому каждый может зарегистрироваться. Теперь я хочу, чтобы, когда пользователь написал номер телефона в этом поле:HTML/Java - Как ограничить первое 3-е число полей ввода tel на определенный номер?

<input type="tel" name="user_phone" id="user_phone" class="input" value="" size="25"> 

первые три цифры должны быть «923». Либо это предварительно написанное в поле ввода, пользователь не может их изменить или удалить, либо отправить запрос на получение ошибки «Недопустимый формат номера, номер должен начинаться с 932». Как это возможно? Вы можете проверить его пример сайта на http://goo.gl/SSst3 Надеюсь, вы поймете, что я хочу делать.

+1

вы задаете для 'только для чтения = "только для чтения"' атрибута на поле ввода? – bdares

+0

Это ваше стандартное напоминание о том, что проверка на стороне клиента может быть легко обойдена и, следовательно, должна быть скопирована с помощью проверки на стороне сервера. –

ответ

0

Как это звучит:

function validate(elem) 
     { 
      var anum=/(^923(\d){10}$)/; //using this regex after the number 923 
             // we are allowed to have 10 digits 
      if(anum.test(elem.value) == true) 
      { 
       elem.style.border="2px solid #0F0"; //green light 
      } 
      else 
      { 
       elem.style.border="2px solid #F00"; //red light 
      } 
     } 

И в HTML мы имеем:

<input type="text" id="phone" onchange="validate(this)" /> 
+0

Этот код выглядит хорошо. Но не работает на jsfiddle.net. Что не так? –

+0

http://jsfiddle.net/jkMp9/1/ <---- Попробуйте выбрать Run (Ctrl + Enter) – ssBarBee

+0

Спасибо! Он работает нормально. –

0

Использование Javascript проверки:

На подчиненной формы имеют проверку, которая проверяет это:

var s = $("#phonenumber").val() 

if(s.substr(0, 3)) == "923" 
{ 
    form.submit(); 
} 
else 
{ 
    alert("Invalid number format, number must start with 932"); 
    return false; 
} 
+0

Пожалуйста, помогите мне больше, как его использовать? Если возможно, создайте модуль на jsfiddle. Спасибо –

0

Создайте 2 поля ввода, один только для чтения и другой для редактирования.

<input type="telprefix" name="user_phone" id="user_phone_pref" class="input" value="932" size="5" tabindex="20" readonly="readonly"/> 
<input type="tel" name="user_phone" id="user_phone" class="input" value="" size="20" tabindex="25" /> 
+0

Как объединить данные на submit? Я имею в виду, как отправлять только данные и пользовательские данные в SMS-шлюз в виде единого номера? –

+0

Я так думаю раньше. Теперь, если вы можете решить мою проблему, пожалуйста, сделайте это. Как объединить оба значения (скрытое поле и редактируемое пользователем поле) в одном? –