Собственно, всё на картинке. Юзверь может ввести три типа номера: +79, 79, 89 с одинаковым телом. Если номер начинается на +79, то нужно убрать три символа, если с 79 или 89, то два, а вместо этого поставить +79.
Как реализовать?
Добрый день!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
namespace ConsoleApp1
{
class Program
{
static string StringRepl(string Str)
{
string pattern = @"^(\+79|79|89)[ ]?";
string Result;
Regex reg = new Regex(pattern);
Result = reg.Replace(Str,"+79");
return Result;
}
static void Main(string[] args)
{
while (1 == 1)
{
string StrA;
StrA = Console.ReadLine();
Console.WriteLine(StringRepl(StrA));
if (Console.ReadKey().Key == ConsoleKey.E) { break; };
}
}
}
}
Предлагаю лучше сделать как в комменте @Андрей, иначе:
string nomertelefona = GetValidString(inputstring);
string GetValidString(string inputstring)
{
if (inputstring.StartWith("+"))
inputstring = inputstring.Substring(1);
return string.Format("+79{0}", inputstring.Substring(2));
}
Если понадобиться extension method:
public static string GetValidString(this string inputstring) // Метод расширения
{
if (inputstring.StartWith("+"))
inputstring = inputstring.Substring(1);
return string.Format("+79{0}", inputstring.Substring(2));
}
Сделайте ввод телефона по маске, можете поискать готовый контрол (благо их куча) или самостоятельно сделайте что-то типа такого:
Выбор кода страны можно сделать, например из выпадающего списка.
Право, вы как будто никогда в жизни ни одной формы не заполняли в приложениях или на сайтах.
У TextBox
есть полезные свойства для организации такого ввода, такие как MaxLength
.
Чтобы пользователь мог вводить только цифры, можете воспользоваться, например, этим ответом.
Ну и не забудьте установить этим "кусочкам" нужные значения TabIndex
Upd. Давно не открывал WinForms
, оказывается здесь есть стандартный контрол "из коробки" - MaskedTextBox
, у которого есть свойство Mask
и даже набор стандартных масок на выбор.
Ниже скрины того, что можно сочинить из ComboBox
+ MaskedTextBox
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый день столкнулся с такой проблемой: функция IndexOf класса ObservableCollection всегда возвращает -1Вот код:
documentquerySelector('body')