如何在jQuery中将输入限制为仅包含句点,数字和分号?

时间:2013-10-02 09:59:01

标签: jquery validation input restrict

我想限制用户可以在输入文本字段中键入的字符,以便他们只能键入数字,句点和冒号。因此,如果他们输入任何其他内容,它将不会显示或注册。这适用于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...'
 });

});

2 个答案:

答案 0 :(得分:0)

你可以使用jquery的alphanumeric plugin来做到这一点。 在元素中添加一些类。

$(".myclass").numeric({allow:"."});

答案 1 :(得分:0)

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

<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();
     });
 });

Working fiddle

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

此外,您可能需要查看html5 attribute pattern,正如上下文所示,它仅适用于html5浏览器。