Javascript Regex/other方法,分别在输入和隐藏/显示div时读取用户电子邮件地址

Javascript Regex/other方法,分别在输入和隐藏/显示div时读取用户电子邮件地址,javascript,jquery,html,css,regex,Javascript,Jquery,Html,Css,Regex,我试图在输入时读取用户电子邮件地址,如果它是hotmail.com或yahoo.com,那么我将隐藏div元素。但是,我仍然在努力找到并匹配hotmail.com字符串 下面是我的代码 javascript: $().ready(function () { var userEmail = document.getElementById("Username"); var paymentBox = document.getElementById("divP

我试图在输入时读取用户电子邮件地址,如果它是hotmail.com或yahoo.com,那么我将隐藏div元素。但是,我仍然在努力找到并匹配hotmail.com字符串

下面是我的代码

javascript:

$().ready(function () {
           var userEmail = document.getElementById("Username");
           var paymentBox = document.getElementById("divPaymentMethod");
           $(userEmail).blur(function () {
               if ($(userEmail).val() != "") {
                   var Name = $(userEmail).val();
                   if (Name.indexOf("@hotmail.com") > -1) {
                       $(paymentBox).hide();
                   }
                   else {
                       $(paymentBox).show();
                   }
               }
           });

html:

只要您只检查“…@hotmail.com”,您的代码似乎是正确的

如果您在任何母版页内使用此.aspx页面,则用户名的id将更改为“ctl_something..username”。 asp.net代码通过Username.ClientID访问它

所以我认为你在身份证这一部分上弄错了


希望这有帮助。

这将帮助您找到@hotmail.com@yahoo.com

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
   <script type="text/javascript">
      $(document).ready(function () {
            $("#sub").click(function(){
              var v=$("#em").val();
             if(v.search("@hotmail.com")!=-1 || v.search("@yahoo.com")!=-1)
             {
                alert();
             }
            });
           });
   </script>
    <input type="text" id="em">
    <button id="sub">submit</button>

$(文档).ready(函数(){
$(“#子”)。单击(函数(){
var v=$(“#em”).val();
如果(v.search(“@hotmail.com”)!=-1 | | v.search(“@yahoo.com”)!=-1)
{
警惕();
}
});
});
提交

这为您提供了实时检查

   <script type="text/javascript">
      $(document).ready(function () {
            $("#em").focusout(function(){
              var v=$("#em").val();
             if(v.search("@hotmail.com")!=-1 || v.search("@yahoo.com")!=-1)
             {
                alert();
             }
            });
           });
   </script>
    <input type="text" id="em">

$(文档).ready(函数(){
$(“#em”).focusout(函数(){
var v=$(“#em”).val();
如果(v.search(“@hotmail.com”)!=-1 | | v.search(“@yahoo.com”)!=-1)
{
警惕();
}
});
});

是的,这在母版页中。我已尝试将用户名更改为UserName.ClientID,但仍然无法工作…如果文本框用户名所在的位置存在此javascript代码,请更改var userEmail=document.getElementById(“用户名”);使用var userEmail=ocument.getElementById(“”);我收到一个错误,说明当前上下文中不存在用户名。。Atl虽然javascript确实出现在同一代码页上,但我的用户名文本框字段实际上嵌套在下面。请填写以下字段以注册帐户。这会对我调用的Id产生影响吗?请检查您是否可以从代码隐藏处访问该username.ClientID?尽管我很忙,但谢谢您的回复尝试实时读取用户输入,而不是在用户按下提交按钮之后。。你知道怎么做吗?我不使用asp,但我认为jquery对于asp或PHPC来说很常见。你能把问题分成两部分吗?检查
名称
有什么值(它是否包含
“@hotmail.com”
?将其扔到控制台或仅使用调试器),然后检查这样一个字符串,如果
.indexOf(“@hotmail.com”)>-1
(应该是
)。