2013-04-21 55 views
1

我試圖驗證在MVC4製作的web應用程序的一些表單字段工作一次,有些區域必須用正則表達式我使用的情況下進行驗證的onblur但剛工作一個時間,如果你回來和類型不對勁此事件不工作了的onblur,只在jQuery和JavaScript的

我對事件的代碼是這樣的:

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

} 

這只是工作的一次

+0

你想用正則表達式進行什麼樣的驗證? – razzak 2013-04-21 12:07:01

回答

2

嘗試使用onChange,而不是它每次更改值時調用。而onBlur只有在您離開物體時纔會觸發。

0

就有關正則表達式本身,傳遞一個字符串參數match當你需要躲避反斜線:

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

或者只是使用正則表達式文本:

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

\S指非空格字符,因此相當於[^\s]