`
netfork
  • 浏览: 486067 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

只允许输入字符、数字、下划线、汉字的用户名验证的正则表达式

    博客分类:
  • Ruby
阅读更多

只请允许输入字符、数字、下划线或汉字的用户名验证,并要求长度验证,字符是4到20,汉字是2到10个。

直接上代码。

 

validates_format_of :name, :with => /^\w+[一-龥]*$/, :message => "用户名只能是字符、数字、下划线(_)或汉字。"

  # 当用户注册时,自定义的验证
  def validate_on_create
    # 对用户名进行验证
    unless name.blank?
      name_for_validate = name.gsub(/[一-龥]/, "11")  # 11 可换成任意单字节字符
      if name_for_validate.length > 20 || name_for_validate.length < 4
        errors.add(:name, "用户名长度不正确。")
      end
    end
  end
分享到:
评论
2 楼 netfork 2010-03-02  
fireflyman 写道
這題目怎么那么別扭~

改了~~~
1 楼 fireflyman 2010-02-26  
這題目怎么那么別扭~

相关推荐

    一个验证用户名的正则表达式

    求一个验证用户名的正则表达式各位大哥大姐,晚辈求一个验证用户名的正则表达式,苦苦思索了一个星期还是没有弄出来,本人愚钝,还望大家指教!VBscript编程要求用户名的字符控制在3至20个之间,由中文、大小写字母...

    JavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全.txt

    正则表达式是一种用于处理字符串的强大工具,它允许开发者通过定义模式来搜索、替换或提取文本中的信息。在JavaScript中,正则表达式被广泛应用于表单验证、数据清洗和文本解析等场景。 ### 常用正则表达式示例 ##...

    常用正则表达式大全.txt

    3. **用户名验证**:只允许输入以字母开头,由字母、数字、下划线组成,长度为6到18个字符。 - 正则表达式:`^[a-zA-Z]\w{5,17}$` - 示例:`john_doe123` 4. **特殊字符验证**:只允许输入不含某些特殊字符的字符...

    javascript正则表达式表单验证大全

    使用onkeyup和onbeforepaste事件监听器,结合正则表达式,可以实时过滤用户的输入,限制只能输入特定类型的字符,如仅允许中文、英文或数字,有效防止非法输入,提高数据安全性。 以上正则表达式及其应用,覆盖了从...

    正则表达式大全.docx

    1. 用户名验证:`/^[a-z0-9_-]{3,16}$/` - 这个正则表达式用于检查用户名是否合法,它只接受小写字母、数字、下划线和破折号,且长度在3到16个字符之间。 2. 密码验证:`/^[a-z0-9_-]{6,18}$/` - 类似于用户名,但...

    正则表达式 Java 判断字串是否合理

    这里的`\w`代表任意字母数字字符或下划线,`([-+.]\\w+)*`表示允许邮箱用户名部分包含连字符、加号、句点等,并且这些符号后还可以跟一个或多个字母数字字符或下划线。`@`后跟域名部分,其中`([-.]\\w+)*`允许域名中...

    验证数字 汉字 的正则表达式

    根据提供的文件信息,我们可以归纳出一系列与验证数字和汉字相关的正则表达式的知识点。下面将对这些知识点进行详细的解释和扩展。 ### 1. 验证纯数字的正则表达式 #### 1.1 纯数字 - **表达式**:`^[0-9]*$` - **...

    页面验证正则表达式

    根据提供的文件信息,我们可以整理出一系列与...以上列举了常见的页面验证正则表达式及其应用场景和说明。这些正则表达式在实际开发过程中非常实用,可以帮助开发者快速完成数据校验任务,提高用户体验和程序的安全性。

    正则表达式大全.txt

    - 这个正则表达式用于验证输入是否全部由数字组成,包括空字符串。 - **验证固定长度的数字**:`^\d{n}$` - 验证输入是否为恰好 `n` 位的数字。 - **验证至少 `n` 位的数字**:`^\d{n,}$` - 输入必须是 `n` 位...

    100个常用正则表达式

    正则表达式(Regular Expression)是用于匹配字符串模式的一种语法,广泛应用于文本处理、数据验证、数据提取等领域。以下是对一些常见的正则表达式的详细解释: 1. 匹配中文字符:`[u4e00-u9fa5]` 这个正则表达式...

    最全的常用正则表达式大全

    - **解释:** 匹配包含中文、英文和数字的字符串,不允许出现下划线等特殊符号。 - **应用场景:** 需要限制输入字符类型的场景,如名称等。 **2.11 可以输入含有^%&',;=?$\”等字符** - **表达式:** `[^%&',;=?$\x22...

    验证数字的正则表达式集

    这个正则表达式用于验证一个字符串是否只包含0到9的数字,无其他字符。 2. **验证 n 位的数字**:`^\d{n}$` 它会检查字符串是否恰好有n个数字。例如,`^\d{5}$`将匹配长度为5的数字串。 3. **验证至少 n 位数字*...

    正则表达式之判断用户注册信息是否为汉字、字母和数字.docx

    在用户注册信息的验证中,正则表达式可以帮助我们确保输入的数据符合预设的格式要求,如判断用户输入是否只包含汉字、字母和数字,以及长度是否在指定范围内。 在文档中提到的几个正则表达式: 1. `^[\u4E00-\u9FA...

    java中常用的匹配正则表达式实例大全.doc

    匹配中文字符的正则表达式 正则表达式:`[\u4e00-\u9fa5]` **评注**:该表达式用于精确匹配任何中文字符。在处理包含中文的文本时极为有用,例如在进行文本分析、数据清洗或中文语料库处理时。 #### 2. 匹配双字节...

    大量的正则表达式代码

    这个正则表达式用来匹配包含字母、数字和下划线的字符串。 ### 特殊场景应用 #### 1. 验证用户名 - **用户名验证**:`^[a-zA-Z][a-zA-Z0-9_]{4,15}$` 用于验证用户名,要求首字符必须是字母,并且长度在5到16个...

    关于JQUERY的常用的正则表达式

    用户名验证正则表达式 ```javascript var regex_username = /^[\u4E00-\u9FA5\uf900-\ufa2d\w]{3,16}$/; ``` **解释:** - 这个正则表达式用于验证用户名是否符合要求。 - `[\u4E00-\u9FA5\uf900-\ufa2d\w]` 表示...

    常用正则表达式收集常用正则表达式收集

    正则表达式(Regular Expression)是一种用于匹配字符串中字符组合的强大工具。它广泛应用于搜索、替换以及数据验证等场景。在文本处理、表单验证、数据清洗等领域都有着极其重要的应用。 ### 常用正则表达式 1. *...

    常用正则表达式(经验积累)

    根据提供的标题、描述以及部分内文,我们可以整理出一系列与正则表达式相关的知识点,这些知识点主要涵盖了在软件开发过程中常见的验证和匹配需求。 ### 常用正则表达式 #### 1. 匹配中文字符 **正则表达式**: `[\...

Global site tag (gtag.js) - Google Analytics