4

我有一个 PHP 应用程序,它需要一个特殊的激活密钥才能解锁。所以我想创建脚本来检查$user_input格式是否正确。

激活密钥将如下所示:
1E63-DE12-22F3-1FEB-8E1D-D31F

数字和字母间距可能会有所不同。
所以激活密钥也可能是这样或不同的:
1EE3-1E1C-R21D-1FD7-111D-D3Q5

  1. 冒号用 - 分隔
  2. 每个冒号包含 4 个字符,它们是字母和数字的混合

在此先感谢您的帮助:)

4

2 回答 2

13

您必须为此使用正则表达式。我在这里测试了这个正则表达式:http ://www.phpliveregex.com/

<?php

$key   = '1E63-DE12-22F3-1FEB-8E1D-D31F';
$regex = '^[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}$';

if (preg_match($regex, $key)) {
    echo 'Passed';
} else {
    echo 'Wrong key';
}
于 2013-11-03T20:10:39.897 回答
2

此正则表达式将匹配您发布的键,并且如果包含小写字母也将起作用:

^([A-z0-9]){4}-([A-z0-9]){4}-([A-z0-9]){4}-([A-z0-9]){4}-([A-z0-9]){4}-([A-z0-9]){4}$

如果您只想要大写字母,请将该正则表达式中的所有“z”更改为“Z”

于 2013-11-03T20:15:05.140 回答