我正在使用一个 javascript 验证器,它可以让我基于 regexp 构建自定义验证
从他们的网站:regexp=^[A-Za-z]{1,20}$
最多允许 20 个字母字符。
如果输入字段中输入的数据超出此范围,这将返回错误。
如果值的第一个字符为星号,我需要的是将触发输入字段错误的字符串。
我可以通过以下方式触发相反的情况(如果第一个字符不是星号,则会出现错误):
regexp=[\u002A]
请帮帮忙:-D
我正在使用一个 javascript 验证器,它可以让我基于 regexp 构建自定义验证
从他们的网站:regexp=^[A-Za-z]{1,20}$
最多允许 20 个字母字符。
如果输入字段中输入的数据超出此范围,这将返回错误。
如果值的第一个字符为星号,我需要的是将触发输入字段错误的字符串。
我可以通过以下方式触发相反的情况(如果第一个字符不是星号,则会出现错误):
regexp=[\u002A]
请帮帮忙:-D
怎么样:
^[^\*]
匹配任何不以星号开头的输入;从示例正则表达式来看,任何与正则表达式不匹配的输入都将导致验证错误,因此使用双重否定你应该得到你想要的行为:-)
我的正则表达式的解释:
^
意思是“在字符串的开头”[
...]
构造是一个字符类,它匹配括号内的单个字符^
意思是“否定字符类”,即匹配任何不是列出的字符之一的字符\*
表示字面*
意思;*
在正则表达式中具有特殊含义,所以我用反斜杠对其进行了转义。正如 Rob 在评论中指出的那样,在字符类中转义(大多数)特殊字符并不是绝对必要的怎么样^[^\*].+
。
分解:
^
= 字符串的开头。[^\*]
= 任何一个字符,不是 '*'。.+
= 任何其他字符至少一次。您可以在 [ 之后使用 ^ 反转字符类
regexp=[^\u002A]