具体数量验证?

时间:2013-05-21 14:38:54

标签: javascript validation numbers set

是否可以使用javascript将字段验证为特定的数字集?例如,在邮政编码字段中,您只能输入要接受的四个数字,例如2747,2750,2753,2760,2777。任何其他号码将被视为虚假。我已经做了一些搜索,但我似乎无法找到适用于这种特定情况的任何东西,而且我对javascript非常了解,所以任何形式的帮助都会很棒。

2 个答案:

答案 0 :(得分:1)

应该非常简单:

Live DEMO

  1. 创建一个数字列表
  2. 创建一个Object,其中每个数字都作为一个键,而不是属性。
  3. 如果他们来自服务器,请发送并解析为JSON.// skip
  4. 在JS中,var validNumbers = JSON.parse(serverResponse); //跳过
  5. 使用Object,而不是ArrayArray.prototype.indexOf速度较慢,需要填充。
  6. 对象属性访问是O(1)并且普遍支持。
  7. 您的对象如下所示:var validNumbers = {"2747": "2747", etc..}
  8. 获取用户的意见。
  9. if (typeof validNumbers[userInput] !== undefined) {//valid} else {//invalid}

答案 1 :(得分:0)

试试这个。

<html>
<head>
<script>
function validateForm() {
    var x = document.getElementById("entry_834285895").value;
    if ((x != 3242 )&&(x != 2342 )&&(x != 2343 )&&(x != 1111 )) {
        document.getElementById("um").innerHTML = ('Invalid');
		document.getElementById("um").style.color = 'Red';
    }
	else {
        document.getElementById("um").innerHTML = ('Valid');
		document.getElementById("um").style.color = 'Green';
    }
	
}
</script>
</head>
<body>
<p>Valid numbers:<br> 3242<br>2342<br>2343<br>1111
<form name="myForm" action="" target="hiddenFrame"
onsubmit="return validateForm()" method="post" >
Name: <input id="entry_834285895" type="text" name="fname">
	
<input type="submit" value="Submit">
<div id="um"></div>
</form>
<iframe name="hiddenFrame" style="display:none;"></iframe>
</body>
</html>