文字列にアルファベットとスペースのみが含まれていることを確認するために正規表現を使用しています。正規表現は次のように定義されます
var regex = /^[A-Za-z ]/;
ただし、文字列「X」を使用してテストしている場合でも、実際の結果が得られます。
ここでのエラーは何ですか?
文字列にアルファベットとスペースのみが含まれていることを確認するために正規表現を使用しています。正規表現は次のように定義されます
var regex = /^[A-Za-z ]/;
ただし、文字列「X」を使用してテストしている場合でも、実際の結果が得られます。
ここでのエラーは何ですか?
^[A-Za-z ]
1文字のみに一致します。文字列の始まりを^
意味します。目的を達成するには、次を使用します。
+
-これは、1つ以上一致することを意味します。または、次を使用することもできます。
*
-これは、ゼロ以上に一致することを意味します。
しかし、私はあなたが最初のもの(+
)でより良いと思います。もう1つは、文字列全体を一致させることです。これは、最初から最後の文字まで検索する必要があることを意味します。
$
-これは、終わりに一致することを意味します。
コードは次のようになります。
var regex = /^[A-Za-z ]+$/;
正規表現は入力の最初の文字と一致するため、trueが返されます。最初( )から最後( )まで$
の完全な文字列のみに一致するように追加する必要があります。^
$
var regex = /^[A-Za-z ]*$/;
これを使用してみてください:
/^[a-zA-Z\ ]+$/