2010-06-08 89 views
3

我有一個文本框,我想對其進行驗證。目前,我有這樣的代碼:「攔截」用戶輸入到文本框中並將其刪除

function updateChanger() { 

    // Validate input 
    var likeMessage = validateInput($("#like").val()); 

    alert(likeMessage); 
} 

function validateInput(input) { 
    input = input.replace(/[^a-zA-Z0-9:\(\/\)\s\.,!~]/g, ""); 
    return input; 
} 

這成功地修剪掉不需要的字符在likeMessage變量,但性格還是被輸入到文本框。我想阻止這種情況的發生。

我知道它會與$("#like").val()有關,但我能想到的唯一的事情就是從文本框值中截斷末尾字符,這足夠嗎?

感謝您的幫助!

回答

5

你可以把它用keyup event,這樣做:

$("#like").keyup(function() { 
    $(this).val($(this).val().replace(/[^a-zA-Z0-9:\(\/\)\s\.,!~]/g, "")); 
}); 

這種檢查和每次鍵可時間刪除無效字符,所以無效字符永遠不會在框中留下,它會立即被刪除。

+0

啊,完美!它只會讓我在9分鐘內接受你的答案:)謝謝! – 2010-06-08 01:08:00

相關問題