2014-09-30 77 views
0

在一些工作中,我试图得到一个验证表单为我的网页工作。在所有的警报中,如果我放置的所有功能都在工作。那是当我想要验证表单的邮政编码值来检查它的所有数字它不起作用,并将甚至允许4位数字是字符。检查变量是所有数字在网页上的JavaScript

我试过很多方法,包括:

for (var i=0;i<document.OrderForm.Postcode.value.length;i++){ 
temp=document.OrderForm.Postcode.value.substring(i,i+1) 
if (digits.indexOf(temp)==-1){ 
alert("Invalid Phone Number !") 
return false 
    } 
} 

,我已经使用了测试功能,如

if(/^[0-9]+$/.test(document.OrderForm.Postcode.value)){ 
alert("Not a valid postcode") 
return false 
} 

我尝试尝试,我认为这些几乎每一个可能的组合和每一个变化我都能想到。任何想法或建议,将不胜感激,因为我可能采购从旧问题的任何帮助等

干杯, 杰西

回答

0

你可以尝试使用功能是这样的:

function checkPostcode(postcode) { 
    postcode = postcode.replace(/\s/g, ""); 
    var regex = /^[A-Z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}$/i; 
    return regex.test(postcode); 
} 

这是一个英国邮政编码的例子。你可以修改它的格式。

0

一种方法是使用键码。

HTML:

<input type="text" class="textfield" value="" id="extra7" name="extra7" onkeypress="return isNumber(event)" /> 

JS:

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

Demo

可以使用HTML中的maxlength属性限制输入长度。

Source

另一种方式来做到这一点是使用HTML5输入type="number"

相关问题