KUMAR619 Ответов: 4

Как проверить имя в C#


Как проверить имя в C#

Пример.
Рассмотрим имя, в котором есть пробел, Точка (Точка) и только слова

Рави Кумар.

Как проверить вышеприведенный шаблон имени.

Kornfeld Eliyahu Peter

Почитайте о регулярном выражении-оно может творить чудеса...

KUMAR619

Можете ли вы помочь мне с этим именем

Kornfeld Eliyahu Peter

Я могу. Однако это означает, что я пишу ваш код. Это то, что мне не подходит...
Я предпочитаю, чтобы вы немного почитали (используйте Google) о регулярных выражениях в c#, чем пытались написать какой-то код. Поскольку ваш запрос прост, вполне возможно, что вы придумаете что-то работающее в самый первый раз, но если нет, вы можете вернуться с этим кодом, чтобы кто-то показал вам, как его исправить...

SwarupDChavan

вам нужно выполнить проверку на стороне клиента??

KUMAR619

да

4 Ответов

Рейтинг:
9

gagandeep.pratihar

Используйте Регулярное Выражение .
Регулярное выражение.Можно использовать метод IsMatch(string,string), который принимает в качестве параметров строку вашего имени и строку регулярного выражения.


Рейтинг:
29

Peter Leow

Попробовать это:

@"^[A-Za-z]+[\s][A-Za-z]+[.][A-Za-z]+$"

Подробнее: регулярное выражение-совпадение[^]


KUMAR619

Спасибо, если имя имеет N пробелов

такой

Оперативной Памяти ОЗУ

Кумар Кумар Кумар
Рави Рави

Баран

Иногда без пространства


Тогда какова общая строка соответствия для достижения такого типа задачи

Peter Leow

Попробуйте это: @"^[а-Яа-я\с]+[.][А-Яа-я\с]+$"
Очень хороший учебник здесь: http://www.codeproject.com/Articles/9099/The-Minute-Regex-Tutorial
Научитесь делать сами.

Kornfeld Eliyahu Peter

[A-Za-z]-это не совсем слово в регулярном выражении...\w определяется как [A-Za-z0-9_].
В его случае, я думаю, \b должен быть еще лучше...

Рейтинг:
23

OriginalGriff

Попробуйте Регулярное Выражение:

public static Regex regex = new Regex(
      "^(\\b[A-Za-z]*\\b\\s+\\b[A-Za-z]*\\b+\\.[A-Za-z])$",
    RegexOptions.IgnoreCase
    | RegexOptions.CultureInvariant
    | RegexOptions.IgnorePatternWhitespace
    | RegexOptions.Compiled
    );

...
   if (regex.IsMatch(InputText))
      {
      // All ok
      }



"Есть ли какой-нибудь способ получить строку для вышеперечисленных имен"


Попробуй:
public static Regex regex = new Regex(
      "^(\\b[A-Za-z]*\\b(\\s+\\b[A-Za-z]*\\b)*(\\.[A-Za-z])?)$",
    RegexOptions.IgnoreCase
    | RegexOptions.CultureInvariant
    | RegexOptions.IgnorePatternWhitespace
    | RegexOptions.Compiled
    );


KUMAR619

Имя пользователя не статично иногда оно может иметь пустое пространство а иногда и нет

Рассмотрим следующие имена

Баран

Рам Кумар

Раджа Рам Мохан

Есть ли какая-то общая строка для всех вышеперечисленных имен

KUMAR619

Есть ли какой-нибудь способ получить строку для вышеперечисленных имен

OriginalGriff

Ответ обновлен

KUMAR619

Спасибо вы заслужили получить 10 звезд за это решение

Рейтинг:
19

Kan07

function ValidateData(){

      var TextVal= document.getElementById('<%=txtbox1.ClientID %>').value;
          if (TextVal== "") {
              alert("text box Can't be empty ");
              document.getElementById('<%=txtbox1.ClientID%>').focus();
              return false;
          }
          
          var textpart = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
          var validtext = textpart .test(TextVal);
         
          if (!validtext ) {
              alert("Your textbox contain invalid ..... again.");
              document.getElementById('<%=txtEmailID.ClientID%>').focus();
              return false;}
}
ещё
вернуть true



вызовите ValidateData () в событии clientclik ......