0 0

用rails开发,如何检验用户名不能带特殊字符?5

用rails开发,如何检验用户名不能带特殊字体?

检验条件如下:

validates_format_of :username, :with=> /[^\~\`\!\@\#\$\%\^\&\*\(\)\-\_\+\=\|\\\{\[\}\]\;\:\"\'\<\>\?\,\.\/\n\f\t]+/, :message=>'不能有符号!'

测试发现,如果用纯特殊字符(如用"#$%#"作为用户名),这条检验能能提示'不能有符号!'
但如果在特殊字符中加入普通字母(如用"#$%#a"作为用户名),这条检验没有任何提示

这是什么原因呢?


如果我想用正则式表达检验用户名中不能包含特别符号,那该怎么做呢?谢谢
2008年6月21日 14:51

2个答案 按时间排序 按投票排序

0 0

根据我的测试,with的用法是这样的:它只是"前缀"式测试方式,也就是说根据正则表达式去匹配输入的字符,如果有部分字符能够匹配目标,则认为符合格式而通过验证.

引用
Note: use \A and \Z to match the start and end of the string, ^ and $ match the start/end of a line.

使用\A和\Z去界定范围.

2008年7月05日 00:20
0 0

validates_format_of :username, :with => /\w+/
除了 _ 之外的其它特殊字符都不允许。

2008年6月21日 15:21

相关推荐

    Ruby-LetterAvatar从用户名或其他字符串创建字母头像的gem

    或者,如果你不使用 Bundler,可以直接使用 `gem` 命令进行安装: ```bash gem install letter_avatar ``` ## 2. 使用 LetterAvatar 在你的代码中,你可以通过简单的几行 Ruby 代码生成一个字母头像。以下是一个...

    webStorm key

    不恰当的处理可能会导致密钥泄露,进而使得未经授权的人也能使用软件,这对软件开发商来说是一种损失。因此,在实际操作中,应妥善保管好注册密钥,并避免将其随意分享给他人。 ### 关于IDE #### 1. WebStorm - **...

    网页中用户注册

    用户名应具有唯一性,邮箱用于验证和通信,密码需满足一定的复杂度要求(如长度、大小写字母、数字、特殊字符的组合)。 - 可选字段:电话号码、出生日期、性别等,根据网站需求可选择性加入。 - 验证机制:通过...

    用户注册页面

    - **后端框架**:如Express、Django或Ruby on Rails,简化后端开发工作。 - **数据库管理**:MySQL、PostgreSQL或MongoDB等数据库管理系统用于存储用户信息。 - **验证库**:如 Joi(Node.js)或 Django forms...

    java开源包8

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包1

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包11

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包2

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包3

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包6

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包5

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包10

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包4

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包7

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包9

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    java开源包101

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    Java资源包01

    WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 ...

    ScottA38.github.io

    用户可以通过创建一个特殊的仓库(用户名.github.io)来建立个人页面。项目页面则需要在用户仓库下创建一个特定的分支(如gh-pages)。 4. **Jekyll**:由于GitHub Pages默认支持Jekyll,这可能意味着"ScottA38....

    dsl:用于构建验证的DSL

    1. 用户名:长度限制、不允许特殊字符。 2. 密码:必须包含数字和字母、最小长度。 3. 邮箱:格式验证,确保是有效的电子邮件地址。 使用DSL,我们可以将这些规则用易于理解的方式表达出来,而不是编写复杂的条件...

Global site tag (gtag.js) - Google Analytics