javascript-将输入限制为一组字符,同时还显示这些字符

前端之家收集整理的这篇文章主要介绍了javascript-将输入限制为一组字符,同时还显示这些字符 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在一些“用户名”字段中看到过,您在其中键入用户名,在用户名下方,如“ span”一样,它将用户名附加到网址中.就像我在底部的StackOverflow中键入此内容一样.

我只想显示列表中允许的字符,而忽略不在该列表中的任何字符输入.

我真的是JS新手.在这种情况下,我正在使用Jquery,并且对某些部分进行了某种工作,而其他部分则没有,或者我还没有到达那里.

欲望:
输入表单字段仅接受列表中的字符,其他字符将被忽略.
获取输入的新密钥,并将其附加到元素.

这是我到目前为止的一团糟:

<script type="text/javascript" charset="utf-8">
 $(document).ready(function() {
      $('#cart-name').keyup(function(e) {
           var entered = $('#cart-name').val();
           entered     = entered.toUpperCase();

           var allowed = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_';

           // fromCharCode always returns uppercase?
           var entered_char = String.fromCharCode(e.which);
           console.log('You entered: ' + entered_char);

           var pos = allowed.indexOf(entered_char);
           console.log('position is: ' + pos);


           if (pos <= 0) {
                console.log('does not contain');
           } else {
                console.log('contains');
           }

           $('#live').text(entered);
           console.log(entered);
      });
 });
</script>

在html中,我有:

 <input type="text" name="cart_name" value="" id="cart-name" autocomplete="off" />
 <br />
 http://example.com/
 <span id="live"></span>
 <br />
最佳答案
为什么不使用常规exprsession替换非字母数字字符?

entered = entered.replace(/[^a-zA-Z 0-9]+/g,'');
原文链接:https://www.f2er.com/jquery/530927.html

猜你在找的jQuery相关文章