在@

时间:2017-03-02 09:16:26

标签: javascript jquery

我试图创建一个显示电子邮件前3个字母的函数,然后在@之前隐藏其余字母。

我的电子邮件可能是:TonyNielson@Stackoverflow.com
我希望它看起来像:Ton********@stackoverflow.com

这是我迄今为止最好的尝试,但我似乎无法找出如何做其余的事。



function hideemail(target) {
  var email = $(target).html();
  var hiddenEmail = "";
  for (i = 0; i < email.length; i++) {
    if (i > 2) {
      hiddenEmail += "*";
    } else {
      hiddenEmail += email[i];
    }
  }
  console.log(hiddenEmail)
}

hideemail(".email")
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="email">TonyNielson@stackoverflow.com</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:4)

您还需要检查@符号。

因此条件变为if (i > 2 && i< email.indexOf("@") ) {

function hideemail(target) {
  var email = $(target).html();
  var hiddenEmail = "";
  for (i = 0; i < email.length; i++) {
    if (i > 2 && i< email.indexOf("@") ) {
      hiddenEmail += "*";
    } else {
      hiddenEmail += email[i];
    }
  }
  console.log(hiddenEmail)
}

hideemail(".email")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="email">TonyNielson@stackoverflow.com</div>