Использование регулярного выражения javascript, содержащего "@" в бритве
Я выполняю проверку адреса электронной почты с помощью javascript на странице просмотра бритвы.
Регулярное выражение, которое я собираюсь использовать, похоже на предложение, предложенное в Подтвердить адрес электронной почты в JavaScript?
Однако, поскольку регулярное выражение содержит символ "@" , я получаю ошибку парсера при попытке запустить веб-приложение.
мое регулярное выражение выглядит как
/^...otherpart @* ... other part$/
Я попытался добавить символ "@" для создания в исходном regex... @@*..., это устранило ошибку компиляции, но, похоже, перестает работать регулярное выражение. (мы использовали его в другом веб-приложении, которое не использует движок бритвы, поэтому я знаю, что он работает).
Есть ли другой способ избежать символа "@" ?
Ответы
Ответ 1
Вы можете добавить еще @
перед ним, чтобы выйти из @@
, попробуйте оставить квантификатор *
. Если это не работает, добавьте <text></text>
вокруг функции, он сообщает Razor не анализировать содержимое. Кроме того, вы можете поместить Javascript в отдельный файл, чтобы выполнить ваши потребности.
Если по какой-то причине у вас есть несколько @@
в вашей строке, поместите блоки кода вперед @:@@
Ответ 2
Поместите следующее внутри regEx вместо @:
@('@')
Вышеуказанное будет отображаться в одиночном @.
Ваш пример станет:
/^...otherpart @('@')* ... other part$/
Ответ 3
Просто используйте double @@
.
Это работает для меня, и я думаю, что это единственный способ.