首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JQuery或Javascript输入IP地址掩码

JQuery或Javascript输入IP地址掩码
EN

Stack Overflow用户
提问于 2013-01-17 14:37:28
回答 5查看 20K关注 0票数 2

我已经根据stackoverflow问题使用了jquery屏蔽输入插件

Input box for changing IP Address

但这对我不起作用。

我像使用$("input").mask("9?99.9?99.9?99.9?99", {placeholder:" "});一样使用它

我在上一个问题中找到了这个演示(http://jsfiddle.net/3F2gM/3/ ),但它不起作用

EN

回答 5

Stack Overflow用户

发布于 2017-06-01 01:11:02

它是这样对我起作用的:

首先,我在html中添加了jquery-mask:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.10/jquery.mask.js"></script>

然后,我使用类.ip_address输入文本字段:

<label>ip:</label> <input class="ip_address" type="text" name="ip">

最后:

$('.ip_address').mask('0ZZ.0ZZ.0ZZ.0ZZ', { translation: { 'Z': { pattern: /[0-9]/, optional: true } } });
票数 6
EN

Stack Overflow用户

发布于 2015-01-12 15:37:24

我以不同的方式解决了这个问题。在上面的示例中,唯一的更改是最后一个八位字节,我更改了所有内容,因为为了快速调试,可以输入大于255的数字。此外,当通过firebug查看时,将在输入中设置该值,并且显示的文本与用户输入的文本相同。

HTML

<input type="text" name="vpn_ip" class="mask-ipv4" value="">

Java脚本

var options =  { 
    onChange: function(cep, event, currentField, options){
        if(cep){
            var ipArray = cep.split(".");
            for (i in ipArray){
                if(ipArray[i] != "" && parseInt(ipArray[i]) > 255){
                    ipArray[i] =  '255';
                }
            }
            var resultingValue = ipArray.join(".");
            $(currentField).val(resultingValue);
        }
    }
};

$('.mask-ipv4').mask("000.000.000.000", options);
票数 1
EN

Stack Overflow用户

发布于 2019-04-25 03:34:47

Joel Valdivia的答案没有确保ip数组<= 255中的每一项,而Joel 824的答案不允许一项小于3位。

这是一个完整的例子,基于他们的答案,满足了这两个标准。

var options =  { 
    onKeyPress: function(text, event, currentField, options){
                    if (text){
                        var ipArray = text.split(".");
                        var lastValue = ipArray[ipArray.length-1];
                        if(lastValue != "" && parseInt(lastValue) > 255){
                            ipArray[ipArray.length-1] = '255';
                            var resultingValue = ipArray.join(".");
                            currentField.text(resultingValue).val(resultingValue);
                        }
                    }             
                },
    translation: {
            'Z': {
                pattern: /[0-9]/, optional: true
            }
    }
};

$(".ipaddr").mask("0ZZ.0ZZ.0ZZ.0ZZ", options);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14373425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档