0

StreetAddress に何を入力しても、正規表現とは一致しません。私書箱 私書箱 私書箱かどうか。私はこれを機能させることができないようです。何か案は?

   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);
    }
4

1 に答える 1

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"]
于 2013-02-11T18:55:21.983 に答える