javascript - AND 和 OR 运算符、正则表达式和值长度

标签 javascript jquery operators

我试图让它阻止输入任何非数字且输入值长度不大于 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/

相关文章:

javascript - 如何删除字符串的一部分?

javascript - 使用 jQuery 悬停时的淡入和淡出效果

javascript - 如何根据按钮的点击事件提供此函数的不同 Prop ?

javascript - 删除第二个类并添加新类

javascript - 从嵌套对象的属性生成代码字符串

javascript - 使用 jQuery 在页面加载时淡入图片

javascript - 旋转图像 + 内容 - jQuery 还是 MooTools?

javascript - 当 "!"运算符与非 bool 变量一起使用时,它在 javascript 中意味着什么?

python - 是否可以在 python 中循环遍历运算符(大于/小于)?

C#- |和 & 运算符?