У меня есть страница «забыл письмо» в нашем приложении MEAN, где мне нужно показать электронное письмо подсказка/подсказка пользователю, если данные, предоставленные пользователем, успешно подтверждены.Как создать подсказку/подсказку электронной почты в этом формате (например, j*****[email protected]) с помощью javascript
Предположим, у пользователя есть следующее электронное письмо: [email protected]
.
Подсказка должна быть отображена в следующем формате: j*****[email protected]
.
Я пробовал использовать split()
и replace()
, и я могу привести результат в следующем формате: *******@example.com
.
Вопрос сейчас в том, что первого и последнего символа перед @
символом также заменены, которые не должен быть.
Я создал простой код, чтобы показать свое текущее решение ниже.
angular.module('app', []).controller('TestController', ['$scope', function($scope) {
var email = '[email protected]';
var emailParts = email.split('@');
$scope.emailClue = emailParts[0].replace(/./gi, '*') + '@' + emailParts[1];
console.log($scope.emailClue);
}])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="TestController">
<p>Our records show your email address as {{ emailClue }}. Please use this email to log in.</p>
</div>
Я был бы очень признателен за любую помощь. Благодарю.
Что вы пытаетесь достичь, запутывая электронную почту? – TZHX
Я просто хотел указать, что наличие фактической полной электронной почты на странице может быть уязвимостью безопасности. Если в любом случае вы будете иметь его на странице, зачем вам это делать, может быть, вы должны сделать это на стороне сервера? –
Я не уверен, но вы используете регулярное выражение, не так ли? '$ scope.emailClue = emailParts [0] .replace (/./ gi, '. *.') + '@' + emailParts [1];' – RaV