用于过滤相似字符的正则表达式

时间:2015-01-07 08:34:48

标签: php regex

我正在尝试构造一个正则表达式来实现以下限制:

  

该值可以是任何长度,但可能不包含类似的字母/数字,这可能会在打印时造成混淆。例如,1(数字),I(大写拉丁语i)和l(小写拉丁语L)看起来相似;可能还有其他这样的例子

我尝试了一些但却无法使用它,任何帮助都会非常感激:谢谢。

例如:我可以Linux1但不能LINUX1linux1

1 个答案:

答案 0 :(得分:3)

我怀疑正则表达式是什么方式,但如果你真的需要,你可能需要根据具体情况处理它们:(1I)|(I1)|([Ii][Ll])|([Ll][Ii])。因此,如果正则表达式匹配,则必须拒绝该字符串。可以找到正则表达式的工作示例here

根据您的评论,您可以尝试使用类似的内容:(1.*I)|(I.*1)|([Ii].*[Ll])|([Ll].*[Ii])。可以找到正常工作的正则表达式here。此正则表达式还将检查值之间的值。