我正在使用给定的正则表达式来验证用户名:
validates_format_of :username, with: /^[a-zA-Z0-9_.]*$/, :multiline => true
通过运行 brakeman
宝石,我会发出以下警告。
== Warnings ==
Confidence: High
Category: Format Validation
Check: ValidationRegex
Message: Insufficient validation for `username` using `/^[a-zA-Z0-9_.]*$/`. Use `A` and `z` as anchors
File: app/models/user.rb
Line: 16
正确分配这些锚并保留相同字符权限的最佳正则表达式是什么?
Regex对我来说还是一个神话!最好的问候。
ruby on Rails指南正则表达式
要修复正则表达式,应使用 a和 z代替 ^和$,例如
/A[a-zA-Z0-9_.]*z/