2011-10-25 13 views
2

それはTLDが最小であることをチェックすることを意味します。 2〜4文字の最大?正規表現の文字制限

var emailRegex = /^[\w-\.][email protected]([\w-]+\.)+[\w-]{2,4}$/; 

最終的に{250,250}必要な250文字を追加するにはどうすればよいですか?

// original 
     var messageRegex = 
new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim); 

// would this work? 
     var messageRegex = 
new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim){250,250}$/; 
+0

正確に250文字が必要ですか? – fncomp

+0

@Josh 250 to 500 chr ... 250,500にする必要がありますか? – acctman

+0

可能な回答を投稿しました。これがあなたが求めているものなのかどうか教えてください:) – fncomp

答えて

3

私が正しくあなたの質問を取得した場合、これらはあなたが探しているものでなければなりません:、-Z内の文字のセットをマッチング

  1. 0-9、および_。

    // Would match any input with A-z 0-9 or _ in any position, given at least one char. 
    var nameRegex = /^[A-Za-z\d_]+$/; 
    
  2. あなたは{2,4}について正しくです。 [\w-]は の2文字、3文字または4文字に一致する必要があります。

  3. あなたのメッセージRegExpは、一致を得るために入力を正確に250文字に強制します。 250以上500未満の場合は、代わりに{251,500}を追加してください。

  4. 最終的なRegExpリテラルは、/someRegex/igのように見えます。リテラルを使用している場合、コンストラクタをラップする理由はありません(つまり、new RegExp)。

  5. 私のRegExpの最後のノートは私が個人的に避けます。星が閉じスラッシュに入り、誰かがその式をコメントアウトしようとすると楽しいバグにつながる可能性があるからです。

    /* Comment out some code 
    var myRe = /[a-z]*/i; // The comment stops before the i. 
    */ // This line breaks your code. 
    

編集:OPからのフィードバックに基づいて更新ポイント3。

+4

'[A-z]'は大文字と小文字をマッチさせないでください。それは動作しますが、 '['、 ']'、 '^'、 '_'、バックスラッシュ、バックティックにもマッチします。コードポイントは' Z'と 'a'の間にあります。代わりに '[A-Za-z]'または '/ i'修飾子を使用してください。 –

+0

@Alan知っておいて、編集しました。 – fncomp

関連する問題