Spl*_*ynx 12 javascript regex negate
我正在使用javascript验证器,它将让我构建基于regexp的自定义验证
从他们的网站:regexp=^[A-Za-z]{1,20}$
允许最多20个字母字符.
如果输入字段中输入的数据超出此范围,则会返回错误.
我需要的是如果值的asterix作为第一个字符,将触发输入字段错误的字符串.
我可以使它触发相反的操作(如果第一个字符不是星号则出错):
regexp=[\u002A]
Run Code Online (Sandbox Code Playgroud)
Heeeeelp请:-D
Cam*_*ron 30
怎么样:
^[^\*]
Run Code Online (Sandbox Code Playgroud)
哪个匹配任何不以星号开头的输入; 从示例正则表达式判断,任何与正则表达式不匹配的输入都将导致验证错误,因此对于双重否定,您应该得到您想要的行为:-)
我的正则表达式的解释:
^
意思是"在字符串的开头"[
... ]
结构是一个字符类,不匹配的括号中的那些中的单个字符^
在字符类的开头的意思是"否定字符类",即匹配的任何字符未列出的一个\*
指文字*
; *
在正则表达式中有特殊含义,所以我用反斜杠转义它.正如Rob在评论中指出的那样,在字符类中逃避(大多数)特殊字符并不是绝对必要的