1

MVC4 で作成された Web アプリケーションでいくつかのフォーム フィールドを検証しようとしましたが、一部のフィールドは正規表現で検証する必要があります。イベント onblur を使用していますが、戻ってきて何か間違ったことを入力すると、1 回だけ機能します。このイベントはもう機能しません。

イベントの私のコードは次のとおりです。

$('#Comprobante_FormaPago')[0].onblur = validaFormaPago;

これが私の機能です:

function validar(re, campo) {
var textBox = campo[0].value;
var temp = textBox.match(re);
if (temp === null) {
    campo[0].className = "errorValiacion";
    return false;
} else {
    campo[0].className = "requerido";
    return true;
}
}

function validaFormaPago() {
    var campo_FormaPago= $('#Comprobante_FormaPago');
    var re = "[^\s]+[a-zA-Z ]*[^\s]+";
    validar(re, campo_FormaPago)

}

これは一度だけ動作します

4

2 に答える 2

0

正規表現自体に関しては、文字列引数を渡すときmatchにバックスラッシュをエスケープする必要があります。

var re = "[^\\s]+[a-zA-Z ]*[^\\s]+";

または、正規表現リテラルを使用します。

var re = /\S+[a-z ]*\S+/i;

\Sは非スペース文字を意味するため、 と同等[^\s]です。

于 2013-04-21T18:00:34.297 に答える