2

我已经设法验证我的字段,所以它总是四位数,但我需要验证它总是一个数字。我尝试添加这段代码,但它不能正常工作。

if (!(document.ExamEntry.cand.value.match(numbers))) {
    msg += "Only use numeric characters \n";
    document.ExamEntry.cand.focus();
    document.getElementById('cand').style.color = "red";
    result = false;
}  

这将允许四位数字组合,如 9a9a 或 !2#3 等。我添加了这样的“数字”变量;

var numbers = /[0-9]/;

进行此验证的更好方法是什么?

4

2 回答 2

6

假设你在这里得到了你的价值

var val = document.ExamEntry.cand.value;

然后,如果您希望它内部包含 4 位数字,只需执行此操作

var itIsNumber = /^\d{4}$/.test(val); // true if it is what you want

如果您希望它内部包含 1 到 4 位数字,请执行此操作

var itIsNumber = /^\d{1,4}$/.test(val); // true if it is what you want

更多示例和详细信息在这里 -->正则表达式

于 2013-06-29T13:43:24.363 回答
2

/^[0-9]{4}$/四个数字

/^[0-9]*$/对于任意数量的数字

/^[0-9]+$/至少一个号码

于 2013-06-29T13:42:25.390 回答