jquery - Ipv4 验证 Jquery

标签 jquery html

我正在尝试编写一个验证 IPv4 地址的函数。

一切看起来都正常,但似乎没有选择正确的类别。

我的代码在这里:http://jsfiddle.net/felix001/X7EuJ/23/

<label for="input">IP</label>
<input type="text" name="input"  id="input" size="22" />
<input type="submit" value="submit" "whatmask_input" id="submit"  align="right" />

JavaScript:

function ipv4addr(x) {
    var REGEX = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
    if ($x != $REGEX) {
        $("#input").addClass(".bad");
    }
    else {
        $("#input").addClass(".good");
    }
}

$(document).ready(function() {
    $("#submit").click(ipv4addr("#input"));

});

谁能告诉我解决此问题的最佳方法吗?

谢谢

最佳答案

在打开 fiddler 页面时加载浏览器的开发工具控制台(例如,在 Chrome 中)。

第一个错误是:

ReferenceError: Can't find variable: $x

不需要在变量名前添加 $ 前缀,$foofoo 是两个不同的变量名。如果您有 var foo,则 foo 就是变量名称。

看看代码,这可能不会达到您的预期:

$("#submit").click(ipv4addr("#input"));

这与以下内容相同:

var result = ipv4addr("#input");
$("#submit").click(result);

即将调用ipv4addr的返回值(始终未定义)传递到click方法中。您可能想传递一个函数,以便在每次点击时调用。

关于jquery - Ipv4 验证 Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10921177/

相关文章:

html - CSS 菜单包装器在 iPhone 屏幕上溢出

javascript - HTML5 验证和自定义自动对焦位置

javascript - 设置div的高度等于图像的高度

javascript - 如何使用 javascript 通过删除中间名来仅提取名字和姓氏

html - 设置浏览器缩小时的水平滚动条

html - 如何在 XML 上同时使用 CSS 和 XSLT?

jquery - 如何从链接悬停中滑出文本框

javascript - 使用 Jquery/Javascript 将 imgsrc 值发送到隐藏字段

javascript - 如何将属性值调用到javascript

javascript - 为javascript创建按钮