Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript和正则表达式验证_Javascript_Html_Regex - Fatal编程技术网

Javascript和正则表达式验证

Javascript和正则表达式验证,javascript,html,regex,Javascript,Html,Regex,我很难让JavaScript和正则表达式识别我正在处理的HTML文件中的输入 function validateSchoolClass(field) { if(field == "") { return "No class ID was entered.\n"; } else if (field.length != 4) { return "Class ID must be 4 characters.\n"; } else if (/[^A-Z]{2}[^0-9]{2}/.te

我很难让JavaScript和正则表达式识别我正在处理的HTML文件中的输入

function validateSchoolClass(field)
{
if(field == "") 
{
    return "No class ID was entered.\n";
}
else if (field.length != 4)
{
    return "Class ID must be 4 characters.\n";
}
else if (/[^A-Z]{2}[^0-9]{2}/.test(field))
{
    return "Class Name must be two capital letters followed by two numbers.\n";
}
return "";
}

我想做的是,传入的字段中的输入将包含4个字符,前2个是大写字母,后2个是数字。我不知道我是否遗漏了什么,但从我所读到的所有信息来看,这应该是可行的,但事实并非如此,任何4个字符的输入都被认为是有效的

如果为

else if (!/^[A-Z]{2}[0-9]{2}$/.test(field))

该正则表达式测试两个大写字母和两个数字,然后我使用
以反转结果,以便可以报告不匹配的内容。(我也在开头和结尾添加了锚,但根据您之前的长度检查,它们在技术上可能是多余的。)

非常感谢您。这件事我已经坚持了好几天了。我忙着让两个否定的范围起作用。