1

この正規表現を使用して、英語の文字のみを含む任意の文字列に一致させます/^[a-zA-Z\s]+$/

次に、これを編集して、ダッシュ'-'とドット'。'に一致させる必要があります。英語の文字と一緒に。文字列には、ダッシュ、ドット、または非(文字のみ)が含まれる場合があります。

何か案が ?

4

3 に答える 3

3

-次のように.文字クラスに追加するだけです:

/^[-.a-zA-Z\s]+$/
于 2013-01-09T04:49:47.513 に答える
1

-スペース.の場合:

/^[-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では範囲を指定できません)

.内側[.]は単なるドットですが、外側は任意の文字(見えない文字も含む)を意味します。

于 2013-01-09T05:02:00.017 に答える
0

正規表現/^[a-zA-Z\s\-\.]+$/は必要なものと一致します。

于 2013-01-09T04:50:21.100 に答える