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 に答える