Проблема с маскировкой AccountNumber и CreditCardNo в свободном текстовом поле.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с маскировкой AccountNumber и CreditCardNo в свободном текстовом поле.

Сообщение Anonymous »

У меня возникла проблема с маскировкой приведенных ниже строк. Для номера счета последние 4 цифры должны быть замаскированы, если он находится в диапазоне от 8 до 9, а для номера кредитной карты последние 4 цифры должны быть замаскированы, если он находится в диапазоне 12-19. Ниже приведен формат (Вход,Выход)-
("Код счета 3038 - Номер квитанции 3514616375 221414441406", "Код счета 3038 - Номер квитанции 3514616375 xxxxxxxx1406"); //CCNo должен быть замаскирован
("Код счета 3038 - Номер квитанции 351461637 221414441406","Код счета 3038 - Номер квитанции xxxxx1637 xxxxxxxx1406"); //И AccNo, и CCNo должны быть замаскированы
("Код счета 3038 - Номер квитанции 35146 221414441406","Код счета 3038 - Номер квитанции 35146 xxxxxxxx1406"); //CCNo должен быть замаскирован
("Код счета 3038 - Номер квитанции 221414441406 3514616375","Код счета 3038 - Номер квитанции xxxxxxxxxx1406 3514616375"); CCNo должен быть замаскирован
("Код счета 3038 - Номер квитанции 221414441406 351461637", "Код счета 3038 - Номер квитанции xxxxxxxx1406 xxxxx1637"); //И AccNo, и CCNo должны быть замаскированы
("Код счета 3038 - Номер квитанции 22141444140 351461637","Код счета 3038 - Номер квитанции 22141444140 xxxxx1637"); //Номер счета должен быть замаскирован
("Код счета 3038 - Номер квитанции 22141444140 3514616375","Код счета 3038 - Номер квитанции 22141444140 3514616375"); //Оба не должны быть замаскированы
Я попробовал приведенное ниже регулярное выражение, и оно работает для всех сценариев, упомянутых в демонстрации https://dotnetfiddle.net/ffgakc. Но для этих конкретных сценариев это не работает. Ожидания уже упомянуты выше, и ожидается, что все сценарии в демо-версии, а также этот конкретный рассматриваемый сценарий должны работать вместе.

Код: Выделить всё

public static string MaskIfContainCreditCardPanorAcctNumNew(this string value)
{
if (string.IsNullOrEmpty(value))
return value;

var maskedAccountNumber = value.MaskAccNo();

return maskedAccountNumber.MaskCCNo();
}
public static string MaskCCNo(this string value)
{
var a = Regex.Replace(value, @"(?:\G(?!^)|(?

Подробнее здесь: [url]https://stackoverflow.com/questions/78781466/issue-in-masking-accountnumber-and-creditcardno-in-a-free-text-field[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»