0000.0000-9999.9999または0000-9999または0000:0000-9999:9999の正規表現が必要です。正規表現9999.9999または9999または9999:9999
可能性があります:/^(\d{4}$\.\d{4}$)|(\d{4}$)|(\d{4}$\:\d{4}$)/
?
お願いします
0000.0000-9999.9999または0000-9999または0000:0000-9999:9999の正規表現が必要です。正規表現9999.9999または9999または9999:9999
可能性があります:/^(\d{4}$\.\d{4}$)|(\d{4}$)|(\d{4}$\:\d{4}$)/
?
お願いします
$
のように行の末尾に^
のようにマークすると、/^(\d{4}$\.\d{4}$)|(\d{4}$)|(\d{4}$\:\d{4}$)/
が間違っています。
私がしようとするだろう:
/^(\d{4}\.\d{4})|(\d{4})|(\d{4}\:\d{4})$/
代わりに。
また、第二部はオプションで作成し、それが存在する場合.
と:
を可能にすることができます
/^\d{4}([\.:]\d{4})?$/
(私はより多くのPerlの正規表現の男だが、それは同様にJavaScriptが動作するはずです)
@MayP:提供されている表現はJavaScriptで完全に問題ありません。 Btwの場合、文字グループ内の '.'をエスケープする必要はありません。 –
@MayP:AFAIK JavaScriptでも動作するはずです。私はちょうど今それをテストすることはできません。 –
@Felix:感謝、私は '.'については考えていましたが、' '\' 'を安全な面に置いていました.- –
これはそれを行う必要があります。
/[0-9]{4}((\.|-|:)?[0-9]{0|4})?/
これは '0000:'や '0000:0'でも許されますね。 –
あなたはこれがまだ0000-9999.9999
ことができます。この1
^\d{4}(?:([.:])\d{4})?(?:-\d{4}(?:\1\d{4})?)?$
説明
^ # start-of-string \d{4} # four digits (?: # non-capturing group ([.:]) # delimiter char (store in group 1) \d{4} # four digits )? # end group, make optional (?: # non-capturing group - # a dash \d{4} # four digits (?:\1\d{4})? # whatever group 1 was plus four digits (optional) )? # end group, make optional $ # end-of-string
を探しています。一致が成功した後に文字列の長さを評価することで、この特殊なケースを確認できます(4,9,19でなければなりません)。
また、正規表現の先頭に(?=.{4}$|.{9}$|.{19}$)
を付けることもできます。
私は " - "&他の文字も許可したくありません – MayureshP