文字(アクセント付きの文字を含む)のみを含むことができるパターンの文字列を検証したいと思います。これが私が使用するコードで、常に「nok」を返します。何が間違っているのかわかりませんが、手伝ってもらえますか?ありがとう
$string = 'é';
if(preg_match('/^[\p{L}]+$/i', $string)){
echo 'ok';
} else{
echo 'nok';
}
文字(アクセント付きの文字を含む)のみを含むことができるパターンの文字列を検証したいと思います。これが私が使用するコードで、常に「nok」を返します。何が間違っているのかわかりませんが、手伝ってもらえますか?ありがとう
$string = 'é';
if(preg_match('/^[\p{L}]+$/i', $string)){
echo 'ok';
} else{
echo 'nok';
}
これが後でこの質問/スレッドをチェックする人に役立つかどうかはわかりません。以下のコードでは、文字、アクセント、スペースのみを使用できます。。、?/>[-<などのような記号や句読点はありません。
<?php
$string = 'États unis and états unis';
if(preg_match('/^[a-zA-Z \p{L}]+$/ui', $string)){
echo 'ok';
} else{
echo 'nok';
}
?>
数字も追加したい場合は、このa-zA-Z0-9のようにZの直後に0-9を追加してください。
次に、これをフォーム検証に適用していて、クライアント/ユーザーがスペースバーを押して送信するのが怖い場合は、次を使用してください。
if (trim($_POST['forminput']) == "") {... some error message ...}
提出を拒否します。