如何输入字符串检查大写字母,使用jQuery
问题描述:
我使用下面的代码,但它不工作:-(如何输入字符串检查大写字母,使用jQuery
//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;
}
答
你不需要使用substring()。你的正则表达式可以为你做所有的工作。您使用的RegExp与不在A和Z之间的字符匹配。正如Avinash所说,如果您的前4个字符是大写,^ [A-Z] {4}将匹配。在您的正则表达式开头的“^”表示以下内容应该是字符串的开头。放置在方括号内时,它将恢复想要匹配的字符范围。
答
变化/[^A-Z]/
到/^[A-Z]/
例如:
var a = "ABCJabcd";
console.log(a.match(/^[A-Z]{4}/));
+0
谢谢,它现在工作正常:-)。 – Biki 2010-08-30 11:06:19
答
正则表达式应该是/ [^ AZ] {4} /如果你想匹配4个小写字符
答
要在大报的中间检测更改/^[AZ] /以/ [AZ]/
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');}
}
答
如果他们需要资金:
const startsWithCapitals = /^[A-Z]{4}/.test(string);
或者,如果他们刚需是字母,添加i
用于忽略大小写:
const startsWithLetters = /^[a-z]{4}/i.test(string);
^
意味着〜应变的开始g和{number}
表示x拷贝
感谢您的详细解释。 :-) – Biki 2010-08-30 11:37:42
如果可能的话让我知道它更好地验证上述,无论是onblur事件还是onkeyupv事件? 我发现,onkeyup会对每个输入的字符进行触发,但是会比onblur更加一致。 – Biki 2010-08-30 11:42:25
这取决于你想要达到的行为:正如你所说的,每个击键都会触发键控,只有当焦点离开该字段时才会触发模糊。 – PJP 2010-08-30 13:50:04