2

我对正则表达式没有深入的了解(我今天才学)。我有一个网站,我想问一下我如何创建一个 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]

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

4

1 回答 1

4

使用重复

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

然后转义序列\d

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

使用 i选项,您甚至可以写这个。

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

preg_match('/^([a-z]\d){3}|^(\d[a-z]){3}/i', $string)
于 2013-07-04T01:17:25.660 回答