java - JSP 中电子邮件 ID 的部分显示。 (重设密码)

标签 java string jsp

当前场景

当用户尝试重置密码时,

输入帐号并提交。 (例如:123456789)

(帐号包含数据库中的电子邮件)。

然后显示“重置密码的说明已通过电子邮件发送至帐号存档的地址:123456789”。

所以我正在尝试向用户显示部分电子邮件ID。

“重置密码的说明已通过电子邮件发送至“Jo*****pa@gmail.com”,帐号为:123456789”。

目前我所做的是。

In Action class: (ResetPasswordAction.java)
String email =**retriving email id**
at end 
request.setAttribute("email", email);
before forwarding.


In Jsp (Display after email sent)
<c:out value="${email}"/> 

工作正常。

现在我的问题:

1)这是正确的方法吗?

2) * 如何用星号替换字符串(电子邮件)**,例如 "Jo****pa@gmail.com"。我正在尝试,但是有什么简单的方法吗? *Java 1.4

已添加:

  String Str = "John.smithpa@gmail.com";
  String S=Str.replaceFirst("@(.*)","" );
  String mail=Str.replaceFirst("(.*)@","" );
  String trim=S.substring(2, S.length()-2);
  String star = trim.replaceAll(".", "*");
  String name= S.replaceAll(trim,star);
  String Disp=name+"@"+mail;
  System.out.println(Disp);

最佳答案

您可以像这样使用正则表达式:

String email="abcdef@xyz.com";
String str=email.replaceAll("(?<=..).(?=...*@)", "*");
System.out.println(str);

输出:

ab**ef@xyz.com

关于java - JSP 中电子邮件 ID 的部分显示。 (重设密码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18330645/

相关文章:

java - postInvalidate() 不适用于非 ui 线程

c - 尝试将字符追加到字符串时出现警告 C4047 和 C4024

java - 代数到 html 转换器

java - HersheyFonts 从 OpenCV 4.2.0 核心类文件中消失

java - 如何读取空字符串来创建输出

php - 从 PHP 中特定字符串的开头删除字符串

java - 选择并禁用组合框

javascript - 从 jsp 中的 Link 调用 Ajax 函数 [a href= onclick =""]

java - 我应该如何使用 servlet 和 Ajax?

java - JCEKS keystore 不再加载 : com. sun.crypto.provider.SealedObjectForKeyProtector