2017-04-24 3 views
1

Javascriptで使用していた電子メールの正規表現があり、正常に動作しますが、Coldfusionで使用しようとするとエラーが発生します。RegexはColdfusionでエラーをスローしますが、JSで動作します

正規表現は次のとおりです。

<cfset regex = '^[a-zA-Z0-9.!#\$%&’*+\/=?^_`{|}~-][email protected][a-zA-Z0-9-]+(?:(\.[a-zA-Z0-9-]+)+)+$'> 

私が手にエラーがある:

CFMLコンパイラが処理していた:

を/」で始まる表現、ライン28に、コラム16このメッセージは通常、式構造の問題によって引き起こされる です。 cfsetタグ ライン28に始まり、列は2

それは、/不満しているようだが、私はそれ\/を逃れました。さらに、私が知る限り、列16にはありません。/の前後に文字を追加すると、行番号は変更されません。たとえば、変数名に文字を追加すると、それが実行されます。

私はエスケープバックスラッシュを使用して試しましたが、正規表現は/.../で、括弧は(^....$)です。

正規表現は有効な電子メールアドレス全体の単語と一致する必要がありますなど[email protected][email protected]、など

スペースやなどの無効な文字がある場合、それは一致しません:[email protected]@email.com' [email protected] '、または[email protected]

は、誰が私のエラーがどこに見えるのですか?

+2

を追加することによってこれを行うことができます。 – Alex

答えて

2

ColdFusionでは、#からエスケープする必要があります。あなたは、あなたが。!## \ $ `` '^ [-ZA-Z0-9のようにハッシュ `#`をエスケープする必要が連続し##

<cfset regex = '^[a-zA-Z0-9.!##\$%&’*+\/=?^_`{|}~-][email protected][a-zA-Z0-9-]+(?:(\.[a-zA-Z0-9-]+)+)+$'> 
+0

うん、それだよ!私はちょうどそれを自分自身に遭遇し、更新するつもりだった:) – littlewolf

関連する問題