一些用户只使用大写字母书写消息,我希望通过JQuery验证引擎来避免这种情况。
我已经尝试了很多很多正则表达式,但没有任何成功。以下是自定义规则的思想,以避免超过10个大写字符:
uppercase: {
regex: /^(![A-Z]{10})+$/,
alertText: "* uppercase test alert"
},我不知道出了什么问题。
发布于 2018-03-02 21:34:08
如果您想只允许包含10个或更少大写字母的字符串,您可以使用
/^(?!(?:[^A-Z]*[A-Z]){11})/请参阅regex demo
该模式匹配不包含11个或更多ASCII大写字母的任何字符串(因此,它可能包含0到10个ASCII大写字母)。
详细信息
^ - string(?!(?:[^A-Z]*[A-Z]){11})的开始-如果当前位置右侧出现(?:[^A-Z]*[A-Z]){11} - 11次[^A-Z]* -除大写ASCII letters[A-Z]之外的任何0+字符-大写ASCII letter.,则为负向先行查找,导致匹配失败
如果要匹配末尾没有10个大写ASCII字母的字符串
/^(?!.*[A-Z]{11})/请参阅regex demo。
详细信息
^ - string(?!.*[A-Z]{11})的开始-如果在紧邻当前位置右侧的任何ASCII码字符之后有11个大写的ASCII码字符,而不是换行符,则会导致数学计算失败。https://stackoverflow.com/questions/49070132
复制相似问题