У меня возникла проблема, когда в номере кредитной карты есть пробел до/после.
Например, от INV 2420852290 до SAV 0165487. Здесь 2420852290 состоит из 10 цифр, но он все равно маскируется.
Для номера кредитной карты диапазон составляет 12–19 цифр. Причина в пробеле (до и после цифр), который, я думаю, занимает дополнительные 11-й и 12-й символы.
Используется регулярное выражение
(?
Я попробовал приведенный ниже код с приведенным выше регулярным выражением. Ожидается, что все сценарии, включая тот, о котором идет речь, должны работать как есть. Последние 4 цифры всегда должны быть замаскированы знаком x.
Их можно проверить с помощью URL-адреса — https://dotnetfiddle.net/Gopzoz. Спасибо
public static string MaskNewCCNo(this string value)
{
var a = Regex.Replace(value, @"(?
Подробнее здесь: https://stackoverflow.com/questions/787 ... ter-spaces