jquery仅限于<和>文本框中的符号

时间:2015-03-26 19:33:57

标签: javascript jquery

代码:

$j("#<%= txtGradingScale.ClientID%>").bind("keypress", function (e) 
{
    var keyed = $j(this).val();
   $j("#<%= txtGradingScale.ClientID%>").html
     (keyed.replace(/\<>/gi,   ''));

  });

进入时必须限制文本框中的符号和小于符号。

上面的代码不起作用请提示方法.i尝试过keyCode和Charcode但它不能正常工作

2 个答案:

答案 0 :(得分:0)

它不起作用的原因是因为正则表达式/\<>/(不需要转义字符\)正在寻找<>而不是字符本身,你想要做的是:

$('textarea[name="test"]').keyup(function(e) {
  $(this).val($(this).val().replace(/[<>]/ig, ''));
});

这将匹配<>字符的任何实例,无论它们出现在什么顺序。

您还应该使用keyup而不是keypress,因为keypress只会在下一个键被点击后触发,而keyup会在释放键时触发。 / p>

Fiddle

答案 1 :(得分:0)

您希望使用e.which进行测试,并与<>的相应代码进行比较。如果您遇到return false或调用e.preventDefault(),就应该这样做。

&#13;
&#13;
$('#myText').on('keypress', function(e) {
    if( e.which === 60 || e.which === 62 ) {
       e.preventDefault();
    }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" name="myText" id="myText"/>
&#13;
&#13;
&#13;