簡體   English   中英

隱藏帶星號的文本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM