我正在使用以下代码段,但它不起作用: - (
//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;
}
答案 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副本