正则表达式验证字符串仅包含字符(非特殊字符)、空格和数字

2023-11-25

我正在使用 Ruby on Rails 3.0.9,我想验证一个只能包含字符(不是特殊字符 - 不区分大小写)、空格和数字的字符串。

在我的验证代码中我有:

validates :name,
  :presence   => true,
  :format     => { :with => regex } # Here I should set the 'regex'

我应该如何声明正则表达式?


有几种方法可以做到这一点。如果您只想允许 ASCII 单词字符(没有重音字符,如 Ê 或其他字母表中的字母,如 ה 或 ל),请使用以下命令:

/^[a-zA-Z\d\s]*$/

如果您只想允许使用其他语言的数字和字母红宝石 1.8.7, 用这个:

/^(?:[^\W_]|\s)*$/u

如果您只想允许使用其他语言的数字和字母红宝石 1.9.x, 用这个:

^[\p{Word}\w\s-]*$

另外,如果您计划在 Ruby on Rails 中使用支持 unicode 的 1.9.x 正则表达式,请在 .rb 文件的开头添加以下行:

# coding: utf-8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式验证字符串仅包含字符(非特殊字符)、空格和数字 的相关文章

随机推荐