首页 > 解决方案 > 如何检查带有空格的字符串没有数字?

问题描述

protected void grvCustomers_OnRowUpdating(object sender, GridViewUpdateEventArgs e)
{
     var row = grvCustomers.Rows[e.RowIndex];
     var customerListIndex = row.DataItemIndex;
     var customerid = (int) grvCustomers.DataKeys[customerListIndex].Value;

     var newName = ((TextBox) row.Cells[1].Controls[0]).Text; //0 = id, 1 = Phonenumber, 2 = Name
     var newPhonenr = ((TextBox) row.Cells[2].Controls[0]).Text;
     if (newPhonenr.Length == 12)
     {
         _c.UpdateCustomer(customerid, newName, newPhonenr);
         grvCustomers.EditIndex = -1;
         grvCustomers.DataSource = _c.GetAllCustomers();
         grvCustomers.DataBind();
     }
     else
     {
         errormessage2.Text = "Fill in a correct phone number!";
         errormessage2.Visible = true;
     }
}

大家好,我如何检查我的是否newName包含数字?我已经使用过Regex.IsMatch(),但我试图在 John Doe 或 Christopher Philips 等名称中允许空格。基本上,我试图允许名称带有空格,但同时检查它是否只是一个字符串。而且我真的没有一个像X Æ A-12 Musk这样的打字机。

标签: c#asp.netregex

解决方案


您想要做的是:允许 a-zA-z 和空格,但不允许 0-9,对吗?

这是^[a-zA-Z ]*$您可以尝试的 C# 中的正则表达式。

对于那些更具体的字符,您可以自己将它们添加到正则表达式中,例如:

^[a-zA-Z '.-]*$也允许',.-.

请注意,-应该是其中的最后一个,[]因为它是 Regex 预定义的字符,在中间时将被视为排列信号。


推荐阅读