在javascript中验证电话号码

在javascript中验证电话号码

问题描述:

我有一个学生表单。我需要验证电话号码。如何使用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:// *。com/questions/7756510/phone-number-format-in-javascript – anurupr

试试这个,

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格式的电话号码... –

通过指定“学生电话号码”来判断,我将假设国际化是而不是这里的一个问题。

在这种情况下,你可以做这样的事情:

<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}"的更广泛的支持。

一如既往,浏览器端验证不应该被信任,所以请确保您在服务器上验证!

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 
      } 

     } 

验证电话号码的简单功能。您可以根据您的限制进行修改。

你可以试试下面的代码

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'); 
    } 

您可以在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