gpt4 book ai didi

javascript - Livevalidation - 正则表达式问题

转载 作者:行者123 更新时间:2023-11-30 18:00:08 25 4
gpt4 key购买 nike

我正在使用 LiveValidation ( http://livevalidation.com/ ) 来验证我网站上的表单以获取页面 url。我的条件是:

  • 不能为空
  • 必须以字母开头
  • 不允许有空格
  • 仅字母数字字符、破折号和下划线

到目前为止我有这个:

    var formName = new LiveValidation("sitePages-name");
formName.add(Validate.Presence);
formName.add(Validate.Format,{ pattern: /^[a-zA-Z]/, failureMessage: "Must start with a letter." } );
formName.add(Validate.Exclusion, {within: [' '], partialMatch: true, failureMessage: "Spaces are not allowed."});
formName.add(Validate.Format,{ pattern:/[a-zA-Z0-9-_]+$/, failureMessage: "Only alpha-numeric characters, dashes and underscores."})

满足第一个和第二个条件。我正在为“没有空格”和“只有字母数字字符、破折号和下划线”的第三个和第四个条件而苦苦挣扎。

我尝试通过正则表达式来处理空格和第四个条件,但它不起作用,所以我现在只是将空格分隔到排除项中。如果您刚刚键入的字符不是正则表达式模式中的字符,则第四个条件的模式有效。但是,如果您继续输入“有效”字符并且之前有一个“无效”字符,错误就会消失并变为有效。

如果输入框中有任何“无效”字符,有人知道如何正确地执行该模式以捕获它吗?如果可能的话,如果我可以将无空格条件与模式合并,那就太好了。

最佳答案

/^[a-zA-Z][a-zA-Z0-9_\-]*$/

  • [a-zA-Z] 表示字母。
  • [a-zA-Z0-9_\-] 表示字母、数字、破折号或下划线。
  • *表示重复0次或多次
  • ^ 是字符串的开始
  • $是字符串的结尾

读出为:在字符串的开头,匹配一个后者,然后匹配零个或多个字母、数字或下划线字符,然后匹配字符串的结尾。

关于javascript - Livevalidation - 正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com