Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery的验证问题_Javascript_Jquery_Html_Jquery Validate - Fatal编程技术网

Javascript JQuery的验证问题

Javascript JQuery的验证问题,javascript,jquery,html,jquery-validate,Javascript,Jquery,Html,Jquery Validate,iam正在进行JQuery验证,如下所示:(iam不太了解JQuery) 我无法完成以下事情: 仅字母a至z(小写)、“-”(破折号或连字符)和“ (空间)是允许的 必须输入“-”(破折号)和“(空格)字母 “—”或“”字母不能是第一个或最后一个 信上写着 “-”不得是近邻或相邻(在或之前) 在(a)之后加入“ “-”或“”不能是的近邻(相邻) 本身 “电话”号码字段(4位区号,空格,7位 本地代码) $(文档).ready(函数(){ $(“#commentForm”).validate(

iam正在进行JQuery验证,如下所示:(iam不太了解JQuery)

我无法完成以下事情:

  • 仅字母a至z(小写)、“-”(破折号或连字符)和“ (空间)是允许的
  • 必须输入“-”(破折号)和“(空格)字母
  • “—”或“”字母不能是第一个或最后一个 信上写着
  • “-”不得是近邻或相邻(在或之前) 在(a)之后加入“
  • “-”或“”不能是的近邻(相邻) 本身
  • “电话”号码字段(4位区号,空格,7位 本地代码)

  • 
    $(文档).ready(函数(){
    $(“#commentForm”).validate({
    onfocusout:函数(元素){$(元素).valid();},
    规则:{
    全名:{
    要求:正确,
    最大长度:14,
    },                  
    电邮:{
    要求:正确,
    电子邮件:真的
    }
    },
    信息:{
    全名:{
    必填:“请指定您的全名”,
    maxlength:“请最多输入14个字符”,
    },
    电邮:{
    必填:“我们需要您的电子邮件地址与您联系”,
    电子邮件:“您的电子邮件地址的格式必须为name@domain.com"
    }
    }
    });
    });
    
    全名
    *
    

    电子邮件 *


    请有人帮我实现这一点。使用正则表达式

    • 只允许字母a到z(小写)、“-”(破折号或连字符)和“(空格)

      /[^a-z0-9-]/.测试(输入)

    • 必须输入“-”(破折号)和“(空格)字母

      /.测试(输入)&&/-/.测试(输入)

    • “—”或“”字母不能是输入的第一个或最后一个字母

      /^[|-]|[|-]$/.test(输入)

    • “-”不得是“”的近邻或相邻(之前或之后)

    • -“或”不能是其自身的近邻(相邻)

      !/-|-|-|/。测试(输入)

    • “电话”号码字段(4位区号、空格、7位本地代码)

      /^\d{4}\d{7}$/.test('1234 1234567')

    如果满足条件,此表达式中的每一个都返回true,否则返回false,请按如下方式使用:

    var input = $('some-selector').value();
    if(
      !/[^a-z0-9 -]/.test(input) &&
      / /.test(input) && /-/.test(input) &&
      !/^[ |-]|[ |-]$/.test(input) &&
      !/ -|- |--|  /.test(input) &&
      /^\d{4} \d{7}$/.test(input )
    ){
       //do something
    }
    
    更好的是,如果您正在格式化电话号码,请删除所有非数字字符

    input = input.replace(/[^0-9]/,'')
    
    数一数(必须是11)


    然后根据需要设置格式。

    检查。似乎您试图实现的内容不是此库的一部分。@DJDavid98仅在该文档的帮助下,我编写了上述代码。。但是在读了那个文档之后,我不知道如何对其他一些事情进行验证。。。顺便说一句,你能告诉我在哪里添加这个方法吗?从这里开始:如果您只验证两个字段,我建议不要使用jQuery验证。您可以使用regex轻松编写自己的代码来验证这两个字段。它很简单,让您能够更深入地了解验证是如何工作的。很抱歉没有回答您的问题。@srijan他也在尝试创建一个电话号码字段。但是,我还是同意。@Clarsen我不知道。请用记号(`)来设置内联代码的格式。@Xocatzin:谢谢你的代码,你能告诉我如何在字段旁边显示错误消息,而不是以弹出格式显示吗?@Xocatzin嘿,你能告诉我这段代码有什么问题吗?你必须把括号和引号都关上。它现在在这里工作。请注意,字符串必须满足所有条件,才能按您指定的方式有效(有空格,-但不能在一起或字符串的任何一端)。@Xocoatzin您很有帮助,兄弟……但我仍然有两个疑问:a)请检查此项:以及在何处添加此项:输入=输入。替换(/[^0-9]/,“”)和input.length==11 b)需要的最后验证:-下拉列表中的访客位置,其中包括以下项目:南约克郡、英格兰其他地区、威尔士、苏格兰、北爱尔兰、欧盟、世界其他地区、其他,并包括适当的默认值,如果我打扰了您,请原谅!
    input = input.replace(/[^0-9]/,'')
    
    input.length == 11