我有一个我在javaScript中使用的电子邮件正则是且工作正常,但是当我尝试在ColdFusion中使用它时,我会出现错误。
正则是:
<cfset regex = '^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:(.[a-zA-Z0-9-]+)+)+$'>
我遇到的错误是:
CFML编译器正在处理:
以/'开头的表达式第28行,第16列。此消息是 通常是由表达结构中的问题引起的。CFSET标签 从第28行,第2列开始。
似乎在抱怨/
,但我已经逃脱了/
。此外,据我所知,它不在第16列上。当我在/
之前或之后添加字符时,行号不会更改。例如,如果我将字符添加到变量名称中,则可以。
我尝试过有没有逃脱的后斜线,将正则态度封闭在/.../
和Parens (^....$)
中。
正则应与整个单词匹配有效的电子邮件地址,例如sample@me.com
,another@some.sub.net
等。
如果有空格或无效字符,例如: not@valid@email.com
, ' toomuch@space.com '
或 wrong.pattern@foo
有人看到我的错误在哪里?
在ColdFusion中,您需要逃脱#
。您可以通过添加连续的##
<cfset regex = '^[a-zA-Z0-9.!##$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:(.[a-zA-Z0-9-]+)+)+$'>