2014-07-23 53 views
0

我有幾個輸入字段,我需要篩選輸入。 我把它們放在一個類中,並使用正則表達式將字符限制爲數字,字母和下劃線。 工作正常,但是當我從一個輸入字段選擇到下一個輸入字段時,光標移動到輸入文本的末尾。我希望它被突出顯示,以便可以根據需要鍵入它,而不必先用鼠標突出顯示它。正則表達式覆蓋html輸入字段中的文本

<input type="input" class="jqfc" value="one"><br> 
<input type="input" class="jqfc" value="two"><br>  
<input type="input" class="jqfc" value="three"><br>  
<input type="input" value="highlights"><br>  


jQuery('.jqfc').keyup(function() { 
     this.value = this.value.replace(/[^a-z0-9\_]/gi, ""); 
}); 

樣品: http://jsfiddle.net/ngwr6/2/

回答

1
jQuery('.jqfc').keyup(function (e) { 
    if (e.keyCode !== 9){ 
    this.value = this.value.replace(/[^a-z0-9\_]/gi, ""); 
    } 
}); 

這樣,如果tab鍵被按下它不會運行的邏輯。我想過要做一些類似select()的事情,但每當你輸入時就會發生這種情況。

0

這應該做的伎倆:

jQuery('.jqfc').keyup(function() { 
    var regex = /[^a-z0-9\_]/gi; 
    if(this.value.match(regex)){ 
     this.value = this.value.replace(regex, ""); 
    } 

}); 

jQuery('.jqfc').on('focus, click', function(){ 
     this.select(); 
}); 

http://jsfiddle.net/ngwr6/5/

相關問題