是否可以使用 javascript 将字段验证为一组特定的数字?例如,在邮政编码字段中,您只能输入四个要被接受的数字,例如 2747、2750、2753、2760、2777。任何其他数字都将返回为 false。我已经做了一些搜索,但我似乎找不到任何适用于这种特定情况的东西,而且我对 javascript 非常了解,所以任何形式的帮助都会很棒。
问问题
206 次
2 回答
1
应该很简单:
- 创建您的号码列表
- 创建一个
Object
将每个数字作为键,将任何内容作为属性。 - 如果它们来自服务器,则将它们发送并解析为 JSON。// 跳过
- 在 JS 中,
var validNumbers = JSON.parse(serverResponse);
// 跳过 - 使用
Object
,而不是Array
。Array.prototype.indexOf
速度较慢,需要 polyfill。 - 对象属性访问是 O(1) 并且得到普遍支持。
- 您的对象如下所示:
var validNumbers = {"2747": "2747", etc..}
- 获取用户的输入。
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 回答