0

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

4

2 回答 2

1

应该很简单:

现场演示

  1. 创建您的号码列表
  2. 创建一个Object将每个数字作为键,将任何内容作为属性。
  3. 如果它们来自服务器,则将它们发送并解析为 JSON。// 跳过
  4. 在 JS 中,var validNumbers = JSON.parse(serverResponse);// 跳过
  5. 使用Object,而不是ArrayArray.prototype.indexOf速度较慢,需要 polyfill。
  6. 对象属性访问是 O(1) 并且得到普遍支持。
  7. 您的对象如下所示:var validNumbers = {"2747": "2747", etc..}
  8. 获取用户的输入。
  9. if (typeof validNumbers[userInput] !== undefined) {//valid} else {//invalid}
于 2013-05-21T14:45:47.600 回答
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>

于 2017-09-25T14:03:09.020 回答