2011-07-15 16 views

答えて

8

構文が間違っています。 PHPとは異なりvar expression = /^[0-9a-z_]+$/i;

変更は、Javascriptが正規表現にリテラル/.../RegExpオブジェクトを作成する構文をサポートしています。

RegExpコンストラクタは、区切り文字なしで正規表現を文字列として受け取ります。

var expression = new RegExp(/^[0-9a-z_]+$/i); 
+0

まあ..あなたは毎日何か新しいことを学びます!私は引用符の欠如が原因でJSがエラーを発生させると思ったが、明らかにそうではないと思った。答えと説明をありがとう。 – Dave

4

を書くことができ正規表現の終わりを示します。あなたのコードのための

、それはこのようにする必要があります -

var expression = new RegExp('/^[0-9a-z_]+$/i');

1

は、このような引用符を取り出し:冒頭の代わりに引用符のnew RegExp(/^[0-9a-z_]+$/i);

+0

@Igor Dymovと@Murchief: '/ /'の代わりに 'new RegExp(/ /)'を使う利点はありますか? – pimvdb

0

使用のスラッシュ "/" を、
ため、また、あなたのRegExpから引用符を削除new RegExp('^[0-9a-z_]+$', 'i')

関連する問題