首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ipv4验证Jquery

Ipv4验证Jquery
EN

Stack Overflow用户
提问于 2012-06-07 03:52:00
回答 2查看 811关注 0票数 1

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

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

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

代码语言:javascript
复制
<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:

代码语言: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"));

});

谁能告诉我解决这个问题的最好方法?

谢谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-07 03:57:02

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

第一个错误是:

代码语言:javascript
复制
ReferenceError: Can't find variable: $x

不需要在变量名前加上$,$foofoo是两个不同的变量名。如果您有var foo,那么foo就是变量名。

看一下代码,这可能不是您所期望的:

代码语言:javascript
复制
$("#submit").click(ipv4addr("#input"));

这与以下内容相同:

代码语言:javascript
复制
var result = ipv4addr("#input");
$("#submit").click(result);

也就是说,将调用ipv4addr (始终未定义)的返回值传入click方法。您可能希望传递一个函数,以便在每次单击时调用该函数。

票数 2
EN

Stack Overflow用户

发布于 2012-06-07 03:56:30

尝试此函数:

代码语言:javascript
复制
function isDottedIPv4(s)
{
 var match = s.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);
 return match != null &&
        match[1] <= 255 && match[2] <= 255 &&
        match[3] <= 255 && match[4] <= 255;
}

isDottedIPv4("127.0.0.001") // true
isDottedIPv4("448.90210.0.65535") // false
isDottedIPv4("microsoft.com") // false
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10921177

复制
相关文章

相似问题

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