この正規表現を使用して、英語の文字のみを含む任意の文字列に一致させます/^[a-zA-Z\s]+$/
次に、これを編集して、ダッシュ'-'とドット'。'に一致させる必要があります。英語の文字と一緒に。文字列には、ダッシュ、ドット、または非(文字のみ)が含まれる場合があります。
何か案が ?
この正規表現を使用して、英語の文字のみを含む任意の文字列に一致させます/^[a-zA-Z\s]+$/
次に、これを編集して、ダッシュ'-'とドット'。'に一致させる必要があります。英語の文字と一緒に。文字列には、ダッシュ、ドット、または非(文字のみ)が含まれる場合があります。
何か案が ?
-
次のように.
文字クラスに追加するだけです:
/^[-.a-zA-Z\s]+$/
-
とスペース.
の場合:
/^[-a-z\s.]+$/i
// "Foo-bar" OK
// "Foo.bar" OK
// "Foo bar" OK
// "Foo - bar" OK
// "Foo.bar-zaz" OK
// "Foo.bar-zaz TROZ" OK
-
または.
またはスペースの場合:
/^[a-z\s]+$|^[-a-z]+$|^[a-z.]+$/i
// "Foo-bar" OK
// "Foo.bar" OK
// "Foo bar" OK
// "Foo - bar" FAIL
// "Foo.bar-zaz" FAIL
// "Foo.bar-zaz TROZ" FAIL
説明させてください:
/i
大文字と小文字を区別しないので、必要ありませんA-Z
|
(パイプ)またはあなたのために。
^
文字列の先頭に
$
終わりまで
今ちょうどchar制限の内側について[...]
:
文字制限の先頭に置く-
ことは、さまざまな方法で範囲を示すため、良い習慣です。したがって、先頭に置くことは間違いを避けます。
\s
空白(JSでは範囲を指定できません)
.
内側[.]
は単なるドットですが、外側は任意の文字(見えない文字も含む)を意味します。
正規表現/^[a-zA-Z\s\-\.]+$/
は必要なものと一致します。