ASP.NET MVC 视图中@符号和正则表达式中的@符号冲突的解决方法

2019年4月4日16:02:13 12 984
摘要

偶遇错误“ASP.NET MVC 视图中@符号和正则表达式中的@符号冲突“,分享一下解决方案。

今天做项目的时候遇到一个问题,关于MVC 视图中使用正则表达式的@冲突,找了半天都没找到,幸亏功夫不负有心人,还是找到解决方法。

起因

我在视图页面中写js判断用户输入邮箱是否符合,使用正则表达式。按照之前的常识,想输出@就需要写两个@,本想这应该没毛病的。

  1. <input type="email" class="form-control" name="ComMail" placeholder="请输入联系业务邮箱" required onblur="var reg = /^\w+([-+.]\w+)*@@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; var regExp = new RegExp(reg); if (!regExp.test(value)) { value = '';swal('请输入有效的邮箱账号!')};" onkeyup="value=value.replace(/[^\d\.]/g,'')" />

谁知,竟然报错了。但是从报错信息来看,的确是输出了一个@。

解决

经过长时间的查找资料,终于找到解决方法了。

  1. @{@Html.Raw("@");}

如果需要输出@,发生错误,上面代码就能完美解决错误。即:

  1. <input type="email" class="form-control" name="ComMail" placeholder="请输入联系业务邮箱" required onblur="var reg = /^\w+([-+.]\w+)*@{@Html.Raw("@");}\w+([-.]\w+)*\.\w+([-.]\w+)*$/; var regExp = new RegExp(reg); if (!regExp.test(value)) { value = '';swal('请输入有效的邮箱账号!')};" onkeyup="value=value.replace(/[^\d\.]/g,'')" />

 

weinxin
微信公众号
博客微信公众号,欢迎关注。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:12   其中:访客  6   博主  6

    • avatar 子午物联网 2

      论写正则,我是不会,智能用别人写好的

        • avatar 萧瑟  博主

          @子午物联网 其实正则也还好,不是特别难。

        • avatar 空包网 0

          感谢分享

            • avatar 萧瑟  博主

              @空包网 客气了,一起学习呦。

            • avatar 红嘴鸭 2

              感谢大佬的分享

                • avatar 萧瑟  博主

                  @红嘴鸭 只是一个小菜鸟,不算大佬 :mrgreen:

                • avatar 西枫里博客 4

                  C#的资源还是蛮少的吧?

                    • avatar 萧瑟  博主

                      @西枫里博客 C#还算挺多的。不过都很旧了。

                    • avatar 90人网络 1

                      .net很神奇

                        • avatar 萧瑟  博主

                          @90人网络 .net的确很好玩。

                        • avatar 小王先森 5

                          还没接触到.net

                            • avatar 萧瑟  博主

                              @小王先森 .NET 很简单。