[英]Hide text with asterisks
我試圖隱藏用戶鍵入的一種字符串數據,然后通過 agular 中的數據 bing 在另一個組件中顯示它,我想要的是用星號屏蔽/隱藏部分數據。 我該怎么做? 我不是很懂js,可以用css做嗎?
<p class="subtitle">
Hemos enviado un correo electrónico a<br />
<b>{{ capturedEmail }}</b> con las instrucciones<br />
para la recuperación de tu contraseña.<br />
Una vez reestablezcas la contraseña, podrás<br />
ingresar a la plataforma con tus datos.
</p>
在上面的代碼片段中,{{ capturedEmail }} 是我要添加該屬性的人
例子:
correo@mail.com -> C***@mail.com
您可以為此使用 Angular Pipe。 隨附Stackblitz Demo供您參考
<h1>{{ capturedEmail | emailAsterisk }}</h1>
@Pipe({ name: 'emailAsterisk' })
export class EmailAsteriskPipe implements PipeTransform {
transform(value: string): string {
return value
? value.replace(/\B.+@/g, (c, ) => c.split('').slice(0, -1).map(v => '*').join('') + '@')
: value;
}
}
結果
correo@mail.com > c*****@mail.com
john.wick22@gmail.com > j**********@gmail.com
基本上你嘗試用星號掩蓋 email,所以將任何 email 傳遞給以下將解決你的問題。
試試下面的 javascript 代碼!
const capturedEmail = function (emailAddress, callback) { function mask(str) { var strLen = str.length; if (strLen > 4) { return str.substr(0, 1) + str.substr(1, strLen - 1).replace(/\w/g, '*') + str.substr(-1,1); } return str.replace(/\w/g, '*'); } return emailAddress.replace(/([\w.]+)@([\w.]+)(\.[\w.]+)/g, function (m, p1, p2, p3) { return callback(null,mask(p1) + '@' + p2 + p3); }); } capturedEmail('random string username@example.com test', function(err,res){ console.log(res); });
Result: u*******e@example.com
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.