Я занимаюсь разработкой приложения для Windows Form в .net c #. Все, что я хочу знать, это как проверить индийский номер телефона, если пользователь вводит текстовое поле.
Я перепробовал все вышеперечисленные методы, у меня не получилось ... Поэтому я создал собственный код: -
private void btnValidatePhoneNumber_Click(object sender, EventArgs e) { Regex re = new Regex("^9[0-9]{9}"); if(re.IsMatch(txtPhone.Text.Trim()) == false || txtPhone.Text.Length>10) { MessageBox.Show("Invalid Indian Mobile Number!!"); txtPhone.Focus(); } }
upvote, если вам это нравится! :)
System.Text.RegularExpressions.Regex expr;
public bool email(string email) { expr =new Regex(@"^[a-zA-Z][\w\.-]{2,28}[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"); if (expr.IsMatch(email)) { return true; } else return false; } public bool phone(string no) { expr = new Regex(@"^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$"); if (expr.IsMatch(no)) { return true; } else return false; }
В c # вам нужно регулярное выражение, которое проверяет +91, за которым следуют 10 цифр
, возможно, стоит проверить и 0091, а затем 10 цифр
РЕДАКТИРОВАТЬ только ради полноты следующее будет делать (\+91|0091)\d{10}
(\+91|0091)\d{10}
Вы можете использовать регулярное выражение, например,
Regex rx = new Regex(@"^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$");
, а затем использовать rx.IsMatch для проверки входной строки.
Стандартный формат номера индийского мобильного телефона: +91 (код страны), за которым следуют 10 цифр.
+91 XXXXXXXXXX
. Просто проверьте, соблюдается ли это.если это номер телефона земли, проверить сложно.Или вы можете получить внешние веб-сайты, которые могут подтвердить номер для вас.
Все, что вы можете сделать, это проверить код страны на точное совпадение.тогда все остальные цифры и их 10.другие символы запрещены.В Индии мы не используем - для разделения между цифрами