如何使用jQuery检查输入字符串中的大写字母

时间:2010-08-30 10:59:20

标签: javascript jquery regex

我正在使用以下代码段,但它不起作用: - (

    //First four characters of input Text should be ALPHABATES (Letters)

    if (($("#txtId").val()).length >= 4) {
        var firstFourChars = $("#txtId").val().substring(0, 4);
        var pattern = new RegExp('[^A-Z]');

        if (firstFourChars.match(pattern))
            isValid = true;
        else
            isValid = false;
    }

5 个答案:

答案 0 :(得分:8)

/[^A-Z]/更改为/^[A-Z]/

示例

var a = "ABCJabcd";
console.log(a.match(/^[A-Z]{4}/));

答案 1 :(得分:2)

您不需要使用substring()。你的正则表达式可以为你做所有的工作。您正在使用的RegExp匹配不在A和Z之间的字符。正如Avinash所说,如果前4个字符是大写的,^ [A-Z] {4}将匹配。正则表达式开头的“^”表示以下内容应该是字符串的开头。当放在方括号内时,它会恢复您想要匹配的字符范围。

答案 2 :(得分:0)

如果要匹配4个小写字符,正则表达式应为/ [^ A-Z] {4} /。

答案 3 :(得分:0)

要检测大文件中间的变化/ ^ [A-Z] /到/ [A-Z] /

Example text: " asşldla ABCJ abcd AÇALASD"

$('.Order input').change(function (){ucheck($(this).val())});
$('.Order input').keyup(function (){ucheck($(this).val())});

    function ucheck(a) {
        if(a.match(/[A-ZĞÜŞİÖÇ]{4}/)){
$('.Order #Error').html(' UPPERCASE');
}else{$('.Order #Error').html('Capitalize');}
    }

答案 4 :(得分:0)

如果他们需要资本:

const startsWithCapitals = /^[A-Z]{4}/.test(string);

或者,如果他们只需要成为字母,请为忽略大小写添加i

const startsWithLetters = /^[a-z]{4}/i.test(string);

^表示字符串的开头,{number}表示x副本