问题描述
|
例如,我要测试邮政编码是否有效,所以我在“如果是其他情况”下使用正则表达式测试该邮政编码,并在提交表单时调用该函数。
function validatePostal(postalCode)
var re = new RegExp(/^([a-zA-Z]{2})([0-9]{1,2})[ ]([0-9]{2})([a-zA-Z]{1,2})$/);
var re2 = new RegExp(/^([cC]{1})([aA]{1})(2|18|17)[ ]([0-9]{2})([a-zA-Z]{1,2})$/);
var str = shipPostalCode.value;
if (re.test(str))
{
return true;
}
else if (re2.test(str))
{
return true;
alert(\"Congratulations!!\");
}
else
{
alert(\"That is not a valid postcode. Please verify your input. Format should be AA11 11AA\");
return false;
}
}
onclick=\"return (validatePostal(postalCode)\"
我将如何针对另一个正则表达式测试所述邮政编码,然后如果该邮政编码有效,则仅向特定区域的人员显示一条消息。
例如那些输入CA4的人会收到一条消息,而那些输入DA4的人不会?
解决方法
好的,假设
re
和re2
都是您要接受的邮政编码的正则表达式,那么您可以使用类似以下的结构:
if (re.test(str) || re2.test(str))
{
return true;
}
else
{
alert(\"That is not a valid postcode. Please verify your input. Format should be AA11 11AA\");
return false;
}
现在,如果您要进行另一次检查,例如您所说的\“ DA4 \”与\“ CA4 \”,则将有另一个正则表达式(将其称为re3
保持一致),然后可以使用一个内部if
语句,如下所示:
if (re.test(str) || re2.test(str))
{
if (re3.test(str)) {
alert(\"You entered a CA4 postcode!\");
} else {
alert(\"You did not enter a CA4 postcode :(.\");
}
return true;
}
else
{
alert(\"That is not a valid postcode. Please verify your input. Format should be AA11 11AA\");
return false;
}
, function validatePostal(postalCode)
var re = new RegExp(/^([a-zA-Z]{2})([0-9]{1,2})[ ]([0-9]{2})([a-zA-Z]{1,2})$/);
var re2 = new RegExp(/^([cC]{1})([aA]{1})(2|18|17)[ ]([0-9]{2})([a-zA-Z]{1,2})$/);
var str = shipPostalCode.value;
var isPostalCodeValid = false;
if (re.test(str))
{
isPostalCodeValid = true;
}
else if (re2.test(str))
{
alert(\"Congratulations!!\");
isPostalCodeValid = true;
}
if(isPostalCodeValid){
//Check for Postalcode and show mssg or not
}else{
alert(\"That is not a valid postcode. Please verify your input. Format should be AA11 11AA\");
return false;
}
}
onclick=\"return (validatePostal(postalCode)\"