2017-05-12 9 views
0

jsのフォームを検証するためにregexを使用しようとしていますが、Googleに問題が発生しました。REGEXP js dot not working

たとえば、/(.)*/とjsで任意のRegExpを作成すると、テスト関数はテストしても偽を返します... phpとregexのオンラインエディタでうまく動作します。

私はそれをグーグルしようとしましたが、誰もが使用しているとして任意の成功せず、それはそうです:に

var regexp = /expression/

私のコードを:

var reg = new RegExp("/(.)+/", "g"); 
console.log("Regexp:" + reg.test("a")); 

また、私は正規表現と言われていますPHPの正規表現と互換性があります...

+0

正規表現テストは何ですか? – Lixus

答えて

4

構文が正しくありません。引用符を削除するか、スラッシュを削除する必要があります。 See the documentation here.

var reg = new RegExp(/(.)+/, "g"); 
 
console.log("Regexp:" + reg.test("a"));

+0

ありがとう、それは動作しますが、これらの2つのソリューションの間に大きな違いはありますか?引用符を削除するか、またはスラッシュを削除しますか? –

+1

本当にありません。いずれかの仕事。 –

+0

基本的にランタイムと評価時間のコンパイルです。繰り返し回数が多いループではより明らかになります。 – quackenator

4

RegExpオブジェクトを使用している場合は、追加しないでください/は定義に署名しています。単純に使用var reg = new RegExp("(.)+", "g");

+0

タイ、それは動作するだけでなく、http://stackoverflow.com/a/43944221/5070552作品は、大きな違いはありますか? –

+0

正規表現が定数のままである場合はリテラル表記を使用してください。[記述セクション](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)は非常に良い説明です。 – quackenator

0

JSとPHP正規表現との間の主な違いは次のとおり ジャバスクリプト:/ [AZ] +/ PHP: '/ [AZ] + /'

単に正規表現の両端に一重引用符を付けます。