4

私は正規表現に不慣れで、次のものだけで構成される文字列の式を作成しようとしています。

  • 手紙
  • 数字
  • アンダースコア記号
  • ピリオド記号(終止符)

これまでのところ私はこれを持っています:

/[a-zA-Z0-9,\.\_]/;

私が言ったように、私はかなり新しいので、これが完全に間違っていることを期待してください!

ありがとう。

4

2 に答える 2

13
/^[a-z0-9._]+$/i

編集:David Thomasは素晴らしい代替案を提案しています:/^[\w.]+$/i-ロケールの問題の可能性。

あなたは私があなたが持っているつもりではないと思うコンマを持っています、しかしあなたがそうするならそれを元に戻すだけです。修飾子を使用するiと、式で大文字と小文字が区別されなくなります。

文字クラス内では、ピリオドをエスケープする必要はありません(エスケープする場合は関係ありません:http://jsfiddle.net/pvgTT/1/

^文字列全体と一致させるには、 and $(文字列の最初と最後)が必要です。それ以外の場合は、そのような文字が少なくとも1つあるが、他の文字もある文字列と一致する可能性があります。

+(1つ以上)を使用します。*(0以上)の場合もあります。文字列の長さが不明なため、どちらかが必要です。

于 2012-10-20T14:01:35.853 に答える
2

さらに必要なもの:

  • ^文字列の先頭に一致する先頭のA
  • $文字列の終わりに一致する最後のA
  • 複数の文字に一致できるようにするためのセットの乗数

+乗数は、セットを1つ以上の文字に一致させます。カンマと一致させたくないので、カンマをセットに含めないでください。セット内でエスケープする必要は.あり_ません。

^[a-zA-Z0-9._]+$

コードは\w文字、数字、アンダースコアと一致するため、次を使用できます。

^[\w.]+$
于 2012-10-20T14:02:13.833 に答える