1

我尝试在 MVC4 上制作的 Web 应用程序中验证某些表单字段,某些字段必须使用正则表达式进行验证

我的活动代码是这样的:

$('#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

3

尝试使用onChange每次更改值时调用的方法。而onBlur仅在您远离物体时才会触发。

于 2013-04-21T11:52:38.330 回答
0

就正则表达式本身而言,在将字符串参数传递给match您时需要转义反斜杠:

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

或者只使用正则表达式文字:

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

\S表示非空格字符,因此它等价于[^\s].

于 2013-04-21T18:00:34.297 回答