parsing @ in MVC javascript section? [duplicate]

I am trying using Email RegEx in javascript section in MVC4. But RegEx has @ char. It is not allowing to parse it

error:

Parser Error Message: "[" is not valid at the start of a code block.  
        Only identifiers, keywords, comments, "(" and "{" are valid.

code

@section scripts{
    <script type="text/javascript">
        $(document).ready(function() {

            $('#btnSave, #btnCoAuthor').click(function() {
                if (form.valid()) {
                    var hasError = false;
                    var emailReg = '[-0-9a-zA-Z.+_][email protected][-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}';
                      //Error showing @

Answers:

Answer

You need to escape the @ for Razor, not for the JS string, itself. So, just use @@. Once Razor renders the HTML, it will end up as just an @.

Answer

Escaping with @@ works for me

var emailReg = '[-0-9a-zA-Z.+_][email protected]@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}';

and output HTML is

var emailReg = '[-0-9a-zA-Z.+_][email protected][-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}';
Answer

You could also use an escape sequence in JS, like:

var at = "\u0040";

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us Javascript

©2020 All rights reserved.