0

だから私はPHPでアドレスをpreg_matchしようとしています。

スペース文字の文字ではなく、スペース文字の文字にする必要があります。では、このように: Myplace 16. 数字と文字の長さは関係ありませんが、それらを混在させることはできません。

私はすでにこれを試しましたが、これはスペースをチェックしません:

if(preg_match("/^[0-9a-zA-Z_]{5,}$/", $adres) === 0)
{
echo 'Address is wrong';
}

前もって感謝します!

4

2 に答える 2

1

あなたが示したパターンは、あなたがやろうとしていることとまったく一致しません。あなたの目的のために、あなたは次のようなことをします

/^[a-zA-Z]+\ +[0-9]+$/

これは、文字列の先頭に少なくとも 1 つの文字があり、その後に 1 つ以上のスペースが続き、その後に 1 つ以上の数字が続き、その時点で文字列が終了する必要があることを確認します。

もちろん、あなたが達成しようとしていることを誤解していない限り...

于 2012-06-19T09:45:28.033 に答える
0

1 を使用してエラーをキャプチャします (preg_match は false を返し、0 を返し、一致しません)

if(1 !== preg_match('/^[a-z]*\ +\d*$/i', $address))
{
    echo 'Address is wrong';
}

これは、az (大文字と小文字を区別しない) の間の任意の文字に 0 から無制限の回数一致し、次に少なくとも 1 つのスペース文字に一致し、次に 0 から無制限の回数までの任意の数字に一致します。少なくとも 1 つの文字と 1 つの数字が必要な場合は、 を に変更し*てください+

于 2012-06-19T09:48:05.677 に答える