2011-08-04 9 views
1

この単純なJavaScriptコードで構文エラーが発生しました。私はちょうどパターンでatringをチェックしたい。誰が間違っているのか教えていただけますか?Javascriptパターンの構文エラー

var a = '[email protected]'; 
var pattern = [a-zA-Z0-9_]+[.[a-zA-Z0-9]+]*@[a-zA-Z0-9_]+[.[a-zA-Z]+]+; 
console.log('The comparison is ',a.match(pattern)); 

ありがとうございます。

+0

あなたのパターンを正規表現ではありませんしてみてください。単なる文字列であり、構文エラーが発生します。正規表現のリテラルは '/'で始まり、/で終わります。 –

答えて

4

var pattern = /[a-zA-Z0-9_]+[.[a-zA-Z0-9]+]*@[a-zA-Z0-9_]+[.[a-zA-Z]+]+/; 

パターンは通常//で区切られます試してみてください。 RegExp on MDCを参照してください。

+0

ええ、 "/"構文エラーのdisapperasと、奇妙なことは一致がnullを返すことです。私はそれがパターン – Juanillo

+0

と一致しなければならないと思う大括弧 '['と ']'の使用法をチェック...それは変です...代わりに '[.a-zA-Z0-9]'をしたいと思います'[。[a-zA-Z0-9] +]'の中から選択します。しかし、電子メールアドレスの正規表現がさらに複雑であることにも注意してください。詳細については、http://stackoverflow.com/questions/201323/what-is-the-best-regular-expression-for-validating-email-addressesを参照してください。 [/ a-zA-Z0-9] + [.a-zA-Z0-9] * @ [a-zA-Z0-9 _] + [。 。 – rdmueller

0

パターンに区切り記号はありません。試しましたか?

var pattern = '[a-zA-Z0-9_]+[.[a-zA-Z0-9]+]*@[a-zA-Z0-9_]+[.[a-zA-Z]+]+'; 

1

var pattern = /^[a-zA-Z0-9_]+[.[a-zA-Z0-9]+]*@[a-zA-Z0-9_]+[.[a-zA-Z]+]+$/;