我试图让它阻止输入任何非数字且输入值长度不大于 6 的内容。现在,如果输入包含 alpha,它会阻止任何超过 6 个字符的内容。但是,当我将其更改为阻止(如果它是 alpha 或大于 6 个字符)时,我根本无法输入任何内容。有什么想法吗?
<script type="text/javascript">
$(document).ready(function () {
var pattern = /^[0-9]+$/;
$('#input1,#input2').keypress(function (e) {
var length = this.value.length;
if (!pattern.test($(this).val()) && (length >= 6)) {
e.preventDefault();
}
});
});
</script>
最佳答案
补充 mazzzzz 所说的,您可以使用更强大的模式来测试您想要的内容:
var pattern = /^\d{1,6}$/;
这仅接受 1 到 6 个字符的数字 (\d)。
关于javascript - AND 和 OR 运算符、正则表达式和值长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11919916/