【问题标题】:validation for phone number in javascript在javascript中验证电话号码
【发布时间】:2014-02-13 10:22:49
【问题描述】:

我有一个学生表格。我需要验证电话号码。如何使用 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();
            });

【问题讨论】:

  • 验证电话号码并不容易,因为电话号码可以根据国家和其他因素以多种不同的方式书写。我认为您需要确定一种或两种允许的格式并使用它们。
  • 使用正则表达式。参考这个链接stackoverflow.com/questions/7756510/…

标签: javascript


【解决方案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,并提供不包含任何符号的明确说明(因此需要输入,例如 5550123456)。根据您实际所在的国家/地区,您可能需要对其进行调整 - 例如,在英格兰,您可能有 10 位或 11 位数字的电话号码,因此您将拥有 pattern="\d{10,11}"

然而,重要的是要注意,这是一个假设。它假设您只与一个特定的国家相关,具有一个特定的电话号码长度。对于更一般的应用程序,您可能应该执行pattern="\d{5,14}" 之类的操作以获得更广泛的支持。

与往常一样,不应信任浏览器端验证,因此请确保您也在服务器上进行验证!

【讨论】:

    【解决方案2】:

    试试这个,

    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

    【讨论】:

      【解决方案3】:
      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
                 }
      
              }
      

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

      【讨论】:

        【解决方案4】:

        你可以试试下面的代码

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 2011-09-05
            • 1970-01-01
            • 2021-08-05
            • 2014-11-30
            • 2013-01-01
            • 2011-05-19
            • 2013-08-24
            • 1970-01-01
            相关资源
            最近更新 更多