正则表达式中至少有2个字母

时间:2015-05-21 17:38:47

标签: php regex

如何在以下正则表达式中强制执行至少2个字母?

/^[a-zA-Z0-9\_\-\.\+]+$/

目前我正在删除所有不是字母的内容,并使用strlen计算结果以实现我的需要。

2 个答案:

答案 0 :(得分:2)

这有效:

^[a-zA-Z0-9_.+-]*(?:[a-zA-Z][a-zA-Z0-9_.+-]*){2,}$

展开:

 ^ 
 [a-zA-Z0-9_.+-]* 
 (?:
      [a-zA-Z] [a-zA-Z0-9_.+-]* 
 ){2,}
 $

答案 1 :(得分:1)

如果字母表示您正在使用的集合中的任何内容,则可以使用以下内容:

(/^[a-zA-Z0-9_-.+]{2,}$/     //here you can remove escape 
                             //characters inside character set

如果字母代表[a-zA-Z]

,则可以使用以下内容
/^(?=.*[a-zA-Z].*[a-zA-Z])[a-zA-Z0-9_-.+]+$/

说明:

  • (?=.*[a-zA-Z].*[a-zA-Z])展望至少两个字母