2014-02-13 224 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

使用正則表達式。請參閱此鏈接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