2016-11-04 9 views
0

次の正規表現チェックはコード内では機能しません。私はregex101.comでこのパターンを使用している場合しかし、それは、これは、ここで起こっている、なぜあなたは私を助けてもらえ完全正規表現テスタでは動作しますが、実際のコードでは動作しない正規表現パターン

var pattern = "^([a-zA-Z0-9]([-\.\w]*[a-zA-Z0-9])*@([a-zA-Z0-9][-\w]*[a-zA-Z0-9]\.)+[a-zA-Z]{2,9})$"; 
 
var value = "[email protected]"; 
 

 
var regexp = new RegExp(pattern); 
 
if (!regexp.test(value)) { 
 
    \t alert("Failed"); 
 
} else { 
 
\t alert("passed"); 
 
}

動作します。ちなみに、下記のようにいくつかの変更を加えると動作します。しかし、私はあなたがそれらのバックスラッシュ(\)をエスケープする必要があり

var pattern = /^([a-zA-Z0-9]([-\.\w]*[a-zA-Z0-9])*@([a-zA-Z0-9][-\w]*[a-zA-Z0-9]\.)+[a-zA-Z]{2,9})$/; 
 
var value = "[email protected]"; 
 

 
if (!pattern.test(value)) { 
 
    \t alert("Failed"); 
 
} else { 
 
\t alert("passed"); 
 
}

+1

*私はそれが新しいRegExp(パターン)と一緒に働くことを望んでいます*なぜですか? –

+0

@torazaburoは答えを得ました..各バックスラッシュの正式表記に余分なバックスラッシュを追加する必要があります。 – Amrinder

答えて

0

それは(新しい正規表現(パターン))で仕事をしたいです。

var pattern = "^([a-zA-Z0-9]([-\\.\\w]*[a-zA-Z0-9])*@([a-zA-Z0-9][-\\w]*[a-zA-Z0-9]\\.)+[a-zA-Z]{2,9})$"; 
 
var value = "[email protected]"; 
 

 
var regexp = new RegExp(pattern); 
 
if (!regexp.test(value)) { 
 
    \t console.log("Failed"); 
 
} else { 
 
\t console.log("passed"); 
 
}

+0

@torazaburo彼は**説明が必要です**なぜRegExpで動作しないのですか –

+0

@torazaburo質問から: "しかし、私はそれが働きたい新しいREGEXP(パターン)) " – nomadictype

+0

@トーラザブロOP言った:*なぜこれはここで起こっている*明らかに彼は**説明が欲しかった** –

0

だけで二重引用符を削除し、単にスラッシュであなたの正規表現を入れました。

var pattern = /^([a-zA-Z0-9]([-\.\w]*[a-zA-Z0-9])*@([a-zA-Z0-9][-\w]*[a-zA-Z0-9]\.)+[a-zA-Z]{2,9})$/; 
 
var value = "[email protected]"; 
 

 
var regexp = new RegExp(pattern); 
 
if (!regexp.test(value)) { 
 
    \t alert("Failed"); 
 
} else { 
 
\t alert("passed"); 
 
}

あなたは二重引用符を入れている場合、あなたは正規表現

をエスケープする必要がある、ので、それは置いたときにそれがあるようしかし、あなたは、単にあなたの正規表現を置くことができますスラッシュの間。

+0

しかし、私たちは引用符でそれをしなければならない?実際のコードのように、 jsonオブジェクトから。 – Amrinder

関連する問題