前提
8文字から32文字の長さで入力された文字列を16進数のASCIIコードへ変換して、以下のような文字列を作成します。
入力文字列:4567 8!"#$%&'()`~a
出力文字列:34.35.36.37.20.38.21.22.23.24.25.26.27.28.29.60.7e.61.
この出力文字列を別の入力処理へ送信して、受信側にてこの文字列を PHPの正規表現を用いて0x20から0x7eの文字を用いた8文字から32文字(変換しているので24文字から96文字?)であるかのバリデーションを行います。
行ったこと
バリデーションを行うことが目的であったため、コールバック関数を用いて、
filter_var($strings, FILTER_CALLBACK, array('options'=>'valid_ascii'));
の言った感じでコールバック関数を用意してバリデーションを行うようにしたのですが、正規表現で実施してほしいと言われてしまいました。
しかし、当方、正規表現は全く経験がないため、困り果てております。
本件に対する正規表現について知識をお持ちの方がいらっしゃいましたら、ぜひともお知恵を拝借させていただきたいです。
よろしくお願いいたします。
使用環境:CentOS7.4 PHP7.2.33
回答2件
あなたの回答
tips
プレビュー