jquery仅限<并且>文本框中的符号

jquery restrict only < and > symbol in textbox

本文关键字:符号 文本 并且 仅限 lt jquery gt      更新时间:2023-09-26

代码:

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

输入时必须在文本框中限制大于和小于符号。

上面的代码不起作用,请建议方法。我尝试了keyCode和Charcode,但它不起作用

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

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

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

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

Fiddle

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

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