【问题标题】:Avoid uppercase input with jQuery Validation Engine使用 jQuery 验证引擎避免大写输入
【发布时间】:2018-03-02 13:31:05
【问题描述】:

有些用户只用大写写他们的消息,我想用 JQuery Validation Engine 避免这种情况。

我尝试了很多正则表达式,但都没有成功。 以下是避免超过 10 个大写字符的自定义规则的想法:

uppercase: {
   regex: /^(![A-Z]{10})+$/,
   alertText: "* uppercase test alert"
},

我不知道出了什么问题。

【问题讨论】:

    标签: regex regex-negation jquery-validation-engine


    【解决方案1】:

    如果您只想允许包含 10 个或更少大写字母的字符串,您可以使用

    /^(?!(?:[^A-Z]*[A-Z]){11})/
    

    regex demo

    该模式匹配任何不包含 11 个或更多 ASCII 大写字母的字符串(因此,它可能包含 0 到 10 个 ASCII 大写字母)。

    详情

    • ^ - 字符串开头
    • (?!(?:[^A-Z]*[A-Z]){11}) - 如果在当前位置的右侧有
      • (?:[^A-Z]*[A-Z]){11} - 出现 11 次
        • [^A-Z]* - 除大写 ASCII 字母外的任何 0+ 个字符
        • [A-Z] - 一个大写的 ASCII 字母。

    如果你想匹配一个结尾没有10个大写ASCII字母的字符串

    /^(?!.*[A-Z]{11})/
    

    请参阅regex demo

    详情

    • ^ - 字符串的开头
    • (?!.*[A-Z]{11}) - 如果在当前位置右侧紧邻的除换行符之外的任何 0+ 字符之后有 11 个大写 ASCII 字母,则计算失败的负前瞻。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多