使用preg_match检查字符串的结构

时间:2013-07-04 01:12:36

标签: php regex preg-match

我对正则表达式知之甚少(我今天才学会了)。我有一个网站,我想问一下如何以下列形式创建一个6位数的安全码:

1.  LNLNLN       
or    
2.  NLNLNL

Where L = Letter and N = Number

我不确定这样做的最佳方式,但我看到有人使用preg_match()来验证数据。我发现使用这个正则表达式有效:

^[a-zA-Z][0-9][a-zA-Z][0-9][a-zA-Z][0-9]|^[0-9][a-zA-Z][0-9][a-zA-Z][0-9][a-zA-Z]

但这似乎很长。我想知道是否有任何方法可以更轻松地检查这一点?
谢谢

1 个答案:

答案 0 :(得分:4)

使用repetition

^([a-zA-Z][0-9]){3}|^([0-9][a-zA-Z]){3}

然后escape sequence \ d

^([a-zA-Z]\d){3}|^(\d[a-zA-Z]){3}

使用我option你甚至可以写这个。

^([a-z]\d){3}|^(\d[a-z]){3}

preg_match('/^([a-z]\d){3}|^(\d[a-z]){3}/i', $string)