繁体   English   中英

正则表达式后,覆盖html输入字段中的文本

[英]After regular expression overwrite text in a html input field

我有几个输入字段需要过滤输入。 我将它们放在一个类中,并使用正则表达式将字符限制为数字,字母和下划线。 效果很好,但是当我从一个输入字段切换到下一个输入字段时,光标将移至输入文本的末尾。 我希望突出显示它,以便可以根据需要键入它,而不必先用鼠标突出显示它。

<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/

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

这样,如果按下Tab键,它将不会运行逻辑。 我想做类似select()事情,但是每次键入时都会发生这种情况。

这应该可以解决问题:

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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM