Scala Play:电子邮件正则表达式中的“@”符号无效
Scala Play: Invalid '@' symbol in email regex
我正在尝试放置一个使用 pattern
属性的输入正则表达式以确保用户名有效(下面正则表达式中的 ^[a-zA-Z0-9_]{6,12}$
部分)或在我的 Scala Play 模板中输入电子邮件.使用 Play 模板,@
用于指示从 HTML 和 "Scala goes here" 的中断,所以当我有我的输入行并尝试包含电子邮件中使用的 @ 时。它抱怨:
Invalid '@' symbol
我试过:
- 正常进行
- 三引号,
@
前无转义字符
-
@
之前的一个转义字符
@
前的两个转义字符(带和不带三引号)
pattern="^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'+/= ?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/"
pattern="""^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'+ /=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/"" “
模式=^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'+/=? ^_`{|}~-]+\@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/
pattern="^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'+/= ?^_`{|}~-]+\@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/"= 18=]
有什么想法吗?
(EDIT 抱歉,所以不会显示包裹在 input
标签中的东西,而且它也不会让我将上面的格式设置为代码,所以我不得不只添加 pattern=". .." 在我原来的 post 之后没有格式化,抱歉。)
在 Scala Play 模板中转义 @
可以通过将符号加倍来执行。
使用 @@
将文字 @
引入模式。
但是,由于您在这里使用的是正则表达式,因此请注意,也可以使用十六进制 \u0040
or \x40
(但仅当 \
是文字时,即应该将其转义为正则表达式引擎,如 """\u0040"""
,这样 Scala 就不会将其解析为 Unicode 字符)。
我正在尝试放置一个使用 pattern
属性的输入正则表达式以确保用户名有效(下面正则表达式中的 ^[a-zA-Z0-9_]{6,12}$
部分)或在我的 Scala Play 模板中输入电子邮件.使用 Play 模板,@
用于指示从 HTML 和 "Scala goes here" 的中断,所以当我有我的输入行并尝试包含电子邮件中使用的 @ 时。它抱怨:
Invalid '@' symbol
我试过:
- 正常进行
- 三引号,
@
前无转义字符
-
@
之前的一个转义字符
@
前的两个转义字符(带和不带三引号)pattern="^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'+/= ?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/"
pattern="""^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'+ /=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/"" “
模式=^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'+/=? ^_`{|}~-]+\@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/
pattern="^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'+/= ?^_`{|}~-]+\@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/"= 18=]
有什么想法吗?
(EDIT 抱歉,所以不会显示包裹在 input
标签中的东西,而且它也不会让我将上面的格式设置为代码,所以我不得不只添加 pattern=". .." 在我原来的 post 之后没有格式化,抱歉。)
在 Scala Play 模板中转义 @
可以通过将符号加倍来执行。
使用 @@
将文字 @
引入模式。
但是,由于您在这里使用的是正则表达式,因此请注意,也可以使用十六进制 \u0040
or \x40
(但仅当 \
是文字时,即应该将其转义为正则表达式引擎,如 """\u0040"""
,这样 Scala 就不会将其解析为 Unicode 字符)。