2013-09-23 61 views
2

我想验证使用javascript的单元格编号。javascript单元格号验证

这是我的代码。

if(number.value == "") { 
    window.alert("Error: Cell number must not be null."); 
    number.focus(); 
    return false; 
} 

if(number.length != 10) { 
    window.alert("Phone number must be 10 digits."); 
    number.focus(); 
    return false; 
} 

这是问题,当我提交表单输出电话号码,它显示的错误单元格号码不能为空。它工作正常。 当我提交小于10位数的小区号码的表单时,显示的电话号码必须是10位数字。这也很好。

问题是,当我提交10位数的表格,那么它也显示错误的电话号码必须是10位数字。

请帮帮我。 谢谢。

并且还需要用于单元号的唯一数字的验证码。

+0

也许你需要做'number.value.length'? – sushain97

+0

谢谢,它工作。 – sapan

+0

另请注意,电话号码在不同国家和时间有不同的格式和长度 –

回答

9

如果number是您的表单元素,则其长度将为undefined,因为元素没有长度。你想

if (number.value.length != 10) { ... } 

更简单的方法做一次所有的验证,不过,将与正则表达式:

var val = number.value 
if (/^\d{10}$/.test(val)) { 
    // value is ok, use it 
} else { 
    alert("Invalid number; must be ten digits") 
    number.focus() 
    return false 
} 

\d的意思是“数字”和{10}意思是“十倍”。 ^$将它锚定到开始和结束,因此类似asdf1234567890asdf的内容不匹配。

+0

它在某种程度上起作用,但输入的数字超过10位时。它没有显示错误信息。为什么?并且如果我输入10位数字以及更多附加字符,则不会显示错误消息。 – sapan

+0

它与用户给出的答案一起工作:sushain97谢谢你们俩。 – sapan

+0

@sapan对不起,我修好了。它应该显示超过十位数的错误消息。 – Doorknob

2
function IsMobileNumber(txtMobId) { 
var mob = /^[1-9]{1}[0-9]{9}$/; 
var txtMobile = document.getElementById(txtMobId); 
if (mob.test(txtMobile.value) == false) { 
    alert("Please enter valid mobile number."); 
    txtMobile.focus(); 
    return false; 
} 
return true; 

调用验证手机号码功能HTML代码 -

0

Mobile number Validation using Java Script,这个环节将提供演示和更多信息。

<input id="txtPhoneNo" type="text" onkeypress="return isNumber(event)" /> 
<input type="button" value="Submit" onclick="ValidateNo();"> 

<script type="text/javascript"> 

    function isNumber(evt) { 
     evt = (evt) ? evt : window.event; 
     var charCode = (evt.which) ? evt.which : evt.keyCode; 
     if (charCode > 31 && (charCode < 48 || charCode > 57)) { 
      alert("Please enter only Numbers."); 
      return false; 
     } 

     return true; 
    } 

    function ValidateNo() { 
     var phoneNo = document.getElementById('txtPhoneNo'); 

    if (phoneNo.value == "" || phoneNo.value == null) { 
      alert("Please enter your Mobile No."); 
      return false; 
     } 
     if (phoneNo.value.length < 10 || phoneNo.value.length > 10) { 
      alert("Mobile No. is not valid, Please Enter 10 Digit Mobile No."); 
      return false; 
     } 

     alert("Success "); 
     return true; 
     } 
</script> 
0

验证此代码: 它适用于在MS CRM 2016表格电话号码字段的变化。

功能validatePhoneNumber(){

var mob = Xrm.Page.getAttribute("gen_phone").getValue(); 
var length = mob.length; 
if (length < 10 || length > 10) { 
    alert("Please Enter 10 Digit Number:"); 
    Xrm.Page.getAttribute("gen_phone").setValue(null); 
    return true; 
} 
if (mob > 31 && (mob < 48 || mob > 57)) { } 
else { 
    alert("Please Enter 10 Digit Number:"); 
    Xrm.Page.getAttribute("gen_phone").setValue(null); 
    return true; 
} 

}

0

此功能检查按键的特殊字符,并消除了值,如果它不是一个数字

function mobilevalid(id) { 

var feild = document.getElementById(id); 

if (isNaN(feild.value) == false) { 
if (feild.value.length == 1) { 
    if (feild.value < 7) {feild.value = ""; 
    } 
} else if (feild.value.length > 10) { 
    feild.value = feild.value.substr(0, feild.value.length - 1); 
} 
if (feild.value.charAt(0) < 7) { 
    feild.value = ""; 
} 
} else { 
feild.value = ""; 
} 

} 

0

如果输入:

if { number.value.length!= 10}...  

它肯定会工作,因为值是从物体驱动的数量。