我正在使用以下正则表达式 - [a-zA-Z0-9]{9,18}
,这意味着我可以使用最小长度为9且最大长度为18的字母和数字。它不应该使用特殊字符。
它需要ADV0098890
等值,但它也会使用ADV0098890[]
,这是错误的。
我该如何防止这种情况?
答案 0 :(得分:1)
你的正则表达式只匹配字符串的第一部分。尝试在^$
中包装模式:
>> !!('ADV0098890' =~ /[a-zA-Z0-9]{9,18}/)
=> true
>> !!('ADV0098890[]' =~ /[a-zA-Z0-9]{9,18}/)
=> true
>> !!('ADV0098890' =~ /^[a-zA-Z0-9]{9,18}$/)
=> true
>> !!('ADV0098890[]' =~ /^[a-zA-Z0-9]{9,18}$/)
=> false