Javascript 如何在正则表达式中检查@?

Javascript 如何在正则表达式中检查@?,javascript,regex,expression,Javascript,Regex,Expression,我知道@符号是正则表达式中的运算符,但我需要检查它是否插入到单词中,然后我需要检查@是否存在 如何编写正则表达式 实际上,我的reg exp(Javascript)是: /^[a-zA-Z0-9_]+$/ 我需要允许我也插入一个@ 谢谢你的帮助。你不需要逃避@符号。它不是正则表达式元字符 /^\w*@\w*$/ 这确保字符串必须包含@符号 > /^(?=.*@)[\w@]+$/.test('foo@bar') true > /^(?=.*@)[\w@]+$/.test('foo9

我知道
@
符号是正则表达式中的运算符,但我需要检查它是否插入到单词中,然后我需要检查
@
是否存在

如何编写正则表达式

实际上,我的reg exp(Javascript)是:

/^[a-zA-Z0-9_]+$/
我需要允许我也插入一个
@


谢谢你的帮助。

你不需要逃避
@
符号。它不是正则表达式元字符

/^\w*@\w*$/
这确保字符串必须包含
@
符号

> /^(?=.*@)[\w@]+$/.test('foo@bar')
true
> /^(?=.*@)[\w@]+$/.test('foo909bar')
false

在开始时使用积极的前瞻

/^(?=.*@)[\w@]+$/
正向前瞻声明要匹配的字符串必须包含
@
符号

> /^(?=.*@)[\w@]+$/.test('foo@bar')
true
> /^(?=.*@)[\w@]+$/.test('foo909bar')
false


在这里,这将使您能够输入
@
符号,因为它位于charracter类中。

我认为@不需要转义。正如@trzyeM-所说的您应该尝试
\
,使用``来转义字符
^[\w@]+$