2014-07-23 54 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/

相关问题