私はcustomvalidatorを検証し、(可能であれば)郵便番号を置き換えるために取り組んでいます。 これはオランダの郵便番号で、「5050 AA」のように表示されます。ユーザが「5050AA」と入力すると、この郵便番号は「5050AA」に置き換えられます。私はのCustomValidatorに呼ばれて、私のページに次のスクリプトを追加することで、これを試してみました:Jquery郵便番号clientvalidate
<script type="text/javascript">
function Postcode_ClientValidate(source, arguments) {
var val = arguments.Value
var result = "";
var myPCRegExp1 = new RegExp("^[1-9][0-9]{3}\s?[a-zA-Z]{2}$", "i");
var myPCRegExp2 = new RegExp("(\d{4}) (\w{2})");
if ((!myPCRegExp1.test(val)) && (!myPCRegExp2.test(val))) {
arguments.IsValid = false;
} else {
if (myPCRegExp1.test(val)) {
arguments.Value = val.replace(myPCRegExp1, "$1, $2");
arguments.IsValid = true;
} else if (myPCRegExp1.test(val)) {
arguments.IsValid = true;
}
}
//jQuery("input#[HIERDEID]").val("Test");
}
</script>
は、しかし、上記のスクリプトは一致として「5038AA」ではなく「5038 AA」を拾っているので、私は有効な郵便番号を検証することができず、有効な郵便番号に書き換えることはできません。 私は何が間違っていますか?
それはフォームとのCustomValidatorの標準.aspxページです: '?\ s' は
"5038 aa"はmyPCRegExp1に対してテストすると真実にはなりませんが、それは全体の問題です。私は "5038 AA"だけでなく、 "5038AA"を私の最初の正規表現で検証する必要があります。それが有効になっていない場合、私はエラーを返します。そうでなければ、コードを "5038 AA"に書き直そうとします。 – Younes