0

我想限制用户可以在输入文本字段中输入的字符,以便他们只能输入数字、句点和冒号。因此,如果他们键入其他内容,则不会显示或注册。这适用于 IP 地址,例如:10.200.66.106:8888

如何在 jQuery 中实现这一点?

我在 jsFiddle 中写了一个小例子:http: //jsfiddle.net/6xMxs/

HTML:

<div id="outer">
    <div id="inner">
            <p>IP Address:</p>
        <p class="edit">2323</p>
    </div>
<div>

jQuery:

 $(document).ready(function() {
 $('.edit').editable('ipaddress/update',{ 
     type      : 'textarea',
     cancel    : 'Cancel',
     submit    : 'OK',        
     tooltip   : 'Click to edit...'
 });

});

4

2 回答 2

1

您可以删除不允许的字符:

<input id="ip" type="text" />



$(document).ready(function() {

     $('#ip').keyup(function() { 
        var el = $(this),
            val = el.val();

         el.val(val.replace(/[^\d\.]/gi, ""));
     }).blur(function() {
         $(this).keyup();
     });
 });

工作小提琴

但是有更好的方法,例如,您可以完全“阻止”输入不需要的字符。请记住,当没有进行服务器端验证时,您可以轻松避免这些限制。

此外,您可能需要检查html5 属性模式,正如上下文所暗示的,该模式仅适用于 html5 浏览器。

于 2013-10-02T10:16:11.677 回答
0

您可以使用 jquery 的字母数字插件来做到这一点。为您的元素添加一些类。

$(".myclass").numeric({allow:"."});
于 2013-10-02T10:09:39.620 回答