簡體   English   中英

如何創建效果隱藏信用卡除最后 4 個數字之外的數字?

[英]How can I create effect hide numbers the credit card except the last 4 numbers?

我最近才開始學習 Xamarin,我需要你的幫助。 我在這個鏈接上看到了我想要的東西如何創建效果隱藏信用卡號碼除了最后 3 個號碼

但我不知道如何在 C# 上做到這一點。

在此處輸入圖片說明

您必須為此創建轉換器,這是示例。 只需在您的邏輯中替換您想要的內容,它就會起作用。

public class CreditCardNumberValueConverter : IValueConverter
{
  public override object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  {
    var builder = new StringBuilder(Regex.Replace(value.ToString(), @"\D", ""));

    foreach (var i in Enumerable.Range(0, builder.Length / 4).Reverse())
      builder.Insert(4*i + 4, " ");

    return builder.ToString().Trim();
  }

  public override object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  {
    return Regex.Replace(value.ToString(), @"\D", "");
  }
}

然后從 xaml 使用它,如:

Text="{Binding CardNo, Converter={StaticResource CreditCardNumberValueConverter}}"

2 解決方案:

string MaskDigits(string input)
{
    //take first 8 characters
    string firstPart = input.Substring(0, 8);

    //take last 4 characters
    int len = input.Length;
    string lastPart = input.Substring(len - 4, 4);
    string maskedDigits = new String('*', 4);

    return firstPart + maskedDigits;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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