jquery - Match() IP地址?

  显示原文与译文双语对照的内容
0 0

我使用一个jquery脚本来验证表单域。 这个工作正常,但是我想更改一个域的验证以检查IP地址。

要使用的正规表达式 是:

b(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]?)b

如何修改下面的内容以使用这里选项? ( 这是验证电子邮件地址的方式)

jQuery("#Email").validate({
 expression:"if (VAL.match(/^[^W][a-zA-Z0-9_-.]+([a-zA-Z0-9_-.]+)*@[a-zA-Z0-9_]+(.[a-zA-Z0-9_]+)*.[a-zA-Z]{2,4}$/)) return true; else return false;",
 message:"Should be a valid Email id"
 });
时间:原作者:4个回答

0 0

""字符被认为是javascript中的转义符,应该加倍,因此它是interpretted字面上的""字符。 引号也必须转义,尽管我看到你没有。

应用于正则表达式,它将是:

b(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]?)b

在代码的上下文中,将是:

jQuery("#Email").validate({
 expression:"if (VAL.match(/^b(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]?)b$/)) return true; else return false;",
 message:"Should be a valid Email id"
 });

注意,最后我将"^"留在开始和"$"处,这意味着你希望整个字符串与正则表达式匹配。 如果不是这种情况,你应该删除它们。 如果正则表达式做了你想要的,但是如果不是,你应该能够应用 above 编写的规则。

如果你想做更高级的检查,例如用户尝试一个IP但失败,那么你可以修改表达式代码,如下所示:

function isValidInput(str) {
 if (str.match(/^b(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]?)b$/)) {
 return true; 
 } else if (str.match(/[0-9]+(.[0-9]+){2,}/)) {
 return false;
 } else { 
 return true;
 }
}
jQuery("#Email").validate({
 expression:"isValidInput(VAL)",
 message:"Should be a valid Email id"
});

注意表达式现在调用现有函数"isValidInput",因此代码不再是eval字符串,所以所有的转义都被删除。 2nd 匹配检查 <number>.<number>.<number>+ 试图捕获试图插入有效 IP ( 但显然不是很好)的人。 希望有帮助!

原作者:
0 0

假设 正规表达式 为IP地址工作,并且假设你对IP地址的输入实际上是 id="Email",那么这应该可以:

jQuery("#Email").validate({
 expression:"return (VAL.match(/^[^W][a-zA-Z0-9_-.]+([a-zA-Z0-9_-.]+)*@[a-zA-Z0-9_]+(.[a-zA-Z0-9_]+)*.[a-zA-Z]{2,4}$/));",
 message:"Should be a valid Email id"
});
原作者:
...