PHPでpreg_matchを使用して、入力文字列に「az、AZ、-、_、0-9」文字のみが含まれていることを確認しようとしています。これらだけが含まれている場合は、検証します。
グーグルで検索しようとしましたが、役に立つものが見つかりませんでした。
誰か助けてもらえますか?
ありがとうございました !
PHPでpreg_matchを使用して、入力文字列に「az、AZ、-、_、0-9」文字のみが含まれていることを確認しようとしています。これらだけが含まれている場合は、検証します。
グーグルで検索しようとしましたが、役に立つものが見つかりませんでした。
誰か助けてもらえますか?
ありがとうございました !
'/^[A-Za-z0-9_-]*$/'
空の文字列も有効な場合は、パターンを使用します。さもないと'/^[A-Za-z0-9_-]+$/'
それで:
$yourString = "blahblah";
if (preg_match('/^[A-Za-z0-9_-]*$/', $yourString)) {
#your string is good
}
また、文字クラスの一部として文字クラスの最後に「-」を配置する必要があることに注意してください。これにより、AZ間のハイフンなど、2つの文字間のダッシュではなくリテラル「-」として読み取られます。
$data = 'abc123-_';
echo preg_match('/^[\w|\-]+$/', $data); //match and output 1
$data = 'abc..';
echo preg_match('/^[\w|\-]+$/', $data); //not match and output 0