2014-02-13 3 views
0

У меня есть студенческая форма. Мне нужно подтвердить номер телефона. Как проверить его с помощью javascript. Моя форма принимает четные символы для телефона. Вот код. Пожалуйста, тел мне, где мне нужно, чтобы внести измененияподтверждение на номер телефона в javascript

$(function() { 
      $("#XISubmit").click(function(){ 

    var XIStudentPhone = document.forms["XIForm"]["XIStudentPhone"].value; 

     if (XIStudentPhone==null || XIStudentPhone=="") { alert("Please Enter Student Phone no"); return false; } 
      document.getElementById("XIForm").submit(); 
      }); 
+1

Непросто проверить номер телефона, так как телефонные номера могут быть написаны разными способами в зависимости от стран и других факторов. Я думаю, вам нужно решить один или два разрешенных формата использовать их. – Mir

+0

использование regex. обратитесь к этой ссылке http: // stackoverflow.com/questions/7756510/phone-number-format-in-javascript – anurupr

ответ

0

Попробуйте это,

function phonenumber(inputtxt) 
{ 

var phoneno = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/; 
if((inputtxt.value.match(phoneno)) 
    { 
    return true; 
    } 
    else 
    { 
    alert("message"); 
    return false; 
    } 

}

Этот код проверяет номер телефона в формате xxx-xxx-xxxx

Чтобы получить другие форматы см., http://www.w3resource.com/javascript/form/phone-no-validation.php

+0

'/^\ d {10} $ /' не соответствует номерам телефонов формата xxx-xxx-xxxx ... –

1

Судя по обозначению «Номер студенческого номера», я собираюсь предположить, что интернационализация составляет , а не.

В таком случае, вы можете сделать что-то вроде этого:

<label>Phone number: 
    <input type="text" name="XIStudentPhone" pattern="\d{10}" /> 
    (Please enter numbers only, no spaces or dashes) 
</label> 

Это позволило бы 10-значный номер телефона, например, 555-012-3456, и обеспечивает четкое указание не включать в себя любые символов (поэтому требуется запись, например, 555). В зависимости от того, в какой стране вы находитесь, вам может потребоваться ее корректировка - например, в Англии у вас могут быть 10 или 11 цифр телефонных номеров, поэтому у вас будет pattern="\d{10,11}".

Важно отметить, однако, что это делает предположение . Это предполагает, что вы имеете отношение только к одной конкретной стране, с одной конкретной длиной номера телефона. Для более общих приложений вы должны, вероятно, сделать что-то вроде pattern="\d{5,14}" для более широкого диапазона поддержки.

Как всегда проверке на стороне браузера не следует доверять, поэтому убедитесь, что вы также проверяете на сервере!

0
function Validate() 
     { 
      var x = document.XIForm.XIStudentPhone.value; 

      if(isNaN(x)||x.indexOf(" ")!=-1) 
      { 
       alert("Enter numeric value") 
       return false; 
      } 
      if (x.length>8) 
      { 
       alert("enter 8 characters"); 
       return false; 
      } 
      if (x.charAt(0)!="2") 
      { 
       alert("it should start with 2 "); 
       return false 
      } 

     } 

Простая функция для подтверждения номера телефона. вы можете изменить в соответствии с вашими ограничениями.

0

Вы можете попробовать следующий код

XIStudentPhone = XIStudentPhone.replace(/\D/g,''); 
    if(XIStudentPhone.length==0) { 
     alert(XIStudentPhone + ' contains empty'); 
    } 
    else if (XIStudentPhone.length == 10) { 
     alert(XIStudentPhone + ' contains 10 digits'); 
    } 
    else { 
     alert(XIStudentPhone + ' does not contain 10 digits'); 
    } 
0

Вы можете использовать новый тип входа в html5.

<input type='tel' pattern='[\+]\d{2}[\(]\d{2}[\)]\d{4}[\-]\d{4}' title='Phone Number (Format: +99(99)9999-9999)'> 

Вы можете изменить образец по своему желанию.

Вот jsFiddle http://jsfiddle.net/shyamchandranmec/aLMwq/

и здесь является допустимым телефон нет. в соответствии с примером

+99(99)9999-9999 
Смежные вопросы