2011-10-25 64 views
0

是否有可能從每個keyUp事件的文本框中除去由正則表達式定義的所有內容?Javascript - 去除除正則表達式定義之外的所有內容?

例如,我有一個文本框和正則表達式^[a-zA-Z0-9]+$。每當用戶輸入(或粘貼)字符時,它將去除那些不包含在該正則表達式中的字符。

+0

見:http://bytes.com/topic/javascript/answers/148144-regular-expression-check-string-alphanumeric-only – JMax

回答

2

你可以使用正則表達式用否定字符類代替(我也簡稱性格,使其不區分大小寫,並做了全球替換)

var input = document.getElementById('sandbox');  
input.onkeyup = function(){ 
    input.value = input.value.replace(/[^a-z0-9]/ig,''); 
} 

在行動:http://jsfiddle.net/theprawn/GvbKY/

4

HTML:

<input /> 

的Javascript:

var input = document.getElementsByTagName('input')[0]; 
input.onkeydown = function() { 
input.value = input.value.match(/[a-zA-Z0-9]+/g).join(); 
} 

Example

相關問題