【发布时间】:2014-07-04 14:02:06
【问题描述】:
我正在尝试构建正则表达式以在 mmorpg 游戏中查找有效名称。规则如下:
- 必须至少有 4 个字符。
- 不能超过 24 个字符。
- 可能包含字符 A-Z、a-z、0-9 和单引号。 (公司名称也可能包含减号和点字符。)
- 不允许将空格或单引号字符作为名称中的第一个或最后一个字符。
这是我到目前为止所得到的。
/([A-z0-9]{1}[A-z0-9]{3,23}[A-z0-9]{1})$/
问题是我不能在 {3,23} 部分内插入零个或一个引号和零个或多个空格。有什么建议吗?
【问题讨论】:
-
你现在可以用条件语句完成了哈哈哈!希望我能提供帮助,虽然我发现 RegEx 是一种非常有用的语言,但我对 RegEx 的了解非常有限!""""""
-
如果您希望您的程序运行得更快并且更易于维护 - 将每个规则作为单独的验证方法实现,并尽量避免使用正则表达式!
-
使用单独规则的额外好处是您可以准确地告诉用户他们选择的名称有什么问题。
-
@alfasin 我强烈反对,这正是正则表达式应该解决的问题。
-
空格呢?他们能达到字数限制吗?
标签: regex