无论我输入StreetAddress,它都不会匹配正则表达式。无论是PO Box PO BOX po box。我似乎无法让这个工作。有什么想法吗?
function valPoBox(sender, args) {
var hasPObox = new RegExp('\b[P|p]*(OST|ost)*\.*\s*[O|o|0]*(ffice|FFICE)*\.*\s*[B|b][O|o|0][X|x]\b');
var StreetAddress = $('.streetaddress').val();
if (StreetAddress.match(hasPObox)) {
args.IsValid = false;
sender.ErrorMessage = "Address must not contain P.O. Box";
// $('.valPoBox').attr("ErrorMessage", sender.ErrorMessage);
}
else {
args.IsValid = true;
}
$('.valPoBox').attr("errormessage", sender.ErrorMessage);
}
答案 0 :(得分:0)
整个正则表达式太复杂了:
var poBoxRegex = /po?(st)? *(office)? box/gi;
结果:
"34 po box 333".match(poBoxRegex);
["po box"]
"34 postoffice box 333".match(poBoxRegex);
["postoffice box"]
"34 post office box 333".match(poBoxRegex);
["post office box"]