Using javascript regex containing '@' in r

2019-01-18 22:12发布

I am performing email address validation with javascript in a razor view page. The regex I am going to use is similar to the one proposed at Validate email address in JavaScript?

However, because the regex contains an '@' character, I am getting parser error when try to run the web app.

my regex looks like

/^...otherpart @* ... other part$/

I tried to add an '@' character to make the in the origin regex ... @@* ..., this eliminated the compilation error but seems to make the regex stops working. (we have used it in another web app that does not use razor engine, so I know it works).

Is there any other way to escape the '@' character?

3条回答
爷、活的狠高调
2楼-- · 2019-01-18 22:51

You can add another @ in front of it to escape @@, try leaving out the quantifer *. If this doesn't seem to work then add <text></text> around the function, it tells Razor to not parse the contents. Alternatively you can put Javascript in a separate file to accomplish your needs.

If for some reason you have multiple @@ in your string, place code blocks ahead @:@@

查看更多
走好不送
3楼-- · 2019-01-18 22:58

Simply just use double @@.
It works for me and I think that is the only way.

查看更多
叛逆
4楼-- · 2019-01-18 23:13

Put the following inside the regEx instead of @:

@('@')

The above will be rendered to a single @.

Your example will become:

/^...otherpart @('@')* ... other part$/
查看更多
登录 后发表回答