8

PHPでpreg_matchを使用して、入力文字列に「az、AZ、-、_、0-9」文字のみが含まれていることを確認しようとしています。これらだけが含まれている場合は、検証します。

グーグルで検索しようとしましたが、役に立つものが見つかりませんでした。

誰か助けてもらえますか?

ありがとうございました !

4

3 に答える 3

4

'/^[A-Za-z0-9_-]*$/'空の文字列も有効な場合は、パターンを使用します。さもないと'/^[A-Za-z0-9_-]+$/'

それで:

$yourString = "blahblah";
if (preg_match('/^[A-Za-z0-9_-]*$/', $yourString)) {
    #your string is good
}

また、文字クラスの一部として文字クラスの最後に「-」を配置する必要があることに注意してください。これにより、AZ間のハイフンなど、2つの文字間のダッシュではなくリテラル「-」として読み取られます。

于 2012-12-27T15:12:04.737 に答える
0
$data = 'abc123-_';
echo preg_match('/^[\w|\-]+$/', $data); //match and output 1

$data = 'abc..';
echo preg_match('/^[\w|\-]+$/', $data); //not match and output 0
于 2012-12-27T15:18:45.237 に答える