正则表达式验证器,所以我的文本框必须以大写字母开头

时间:2013-05-03 09:08:52

标签: c# asp.net

我正在使用这个表达式:

  

^ [A-Z] [A-ZA-Z0-9] * $

如果我输入例如“Kristian”,它可以正常工作。但是,当我想继续这句话,比如输入“Kristian正在使用SharePoint”时,它就不起作用了。那里有更好的表达吗?

3 个答案:

答案 0 :(得分:2)

这是一个非REGEX解决方案。您可以在字符串的第一个字符上使用char.IsUpper来查看它是否以大写字母开头。

if(textbox.Text.Length > 0 && char.IsUpper(textBox.Text[0]))
{
  //starts with upper case
}

或使用Char.IsUpper Method (String, Int32)

if(textbox.Text.Length > 0 && char.IsUpper(textBox.Text,0))
{
  //starts with upper case
}

答案 1 :(得分:1)

这很简单:

[A-Z].*

作为参考,^[A-Z][a-zA-Z0-9]*$确保每个单词的第一个字母大写,并且不匹配可能出现的“每个字符”。

查看http://www.zytrax.com/tech/web/regex.htm以获取更好的参考资料。

答案 2 :(得分:0)

试试这个正则表达式:

  

“\ B(\ W | [' - ])+ \ B”

您还可以使用其他框架方法:

string capitalized = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase("capitalize this string");