0

人の名前を検証するために、単純な Javascript 正規表現を使用しています。ãただし、ユーザーが、äõ、などのアクセント付き文字を入力できるようにしたくありませんö。これらは実際には名前に有効な文字である可能性があることは承知していますが、私の演習では、それらを除外できる必要があります。

私の現在の正規表現:

^[a-zA-Z]+('|-|.|)[a-zA-Z\s]+$

これは、アクセント付きの文字にも一致します。この正規表現を変更して、アクセント付きの名前 (または Unicode 文字) と一致しないようにするにはどうすればよいですか?

4

2 に答える 2

2

を削除します。任意の文字に一致する.ためです。.これにより、アクセント付きの文字が一致する可能性があります。

^[a-zA-Z]+('|-)[a-zA-Z\s]+$

.または、文字通りのドットを意味する場合はエスケープします。

^[a-zA-Z]+('|-|\.)[a-zA-Z\s]+$
于 2013-08-08T09:07:00.573 に答える
1

単一の文字に一致させるに[...]は、代替のグループではなく、クラスを使用することをお勧めし(...|...)ます。

^[a-zA-Z]+['.-][a-zA-Z\s]+$

foo.barなどを検証するため、これは 100% 正確ではないことに注意してください。

于 2013-08-08T09:17:40.780 に答える