【发布时间】:2020-08-30 09:30:06
【问题描述】:
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 这样打字。
【问题讨论】:
-
我不确定你到底想做什么,但如果
newName包含一个或多个数字,Regex.IsMatch(newName, "\\d");将返回 true。 -
我正在尝试找到一种解决方案,允许在网格视图中编辑带有空格的名称(如我提到的 John Doe),而名称中不包含数字(例如 John Doe123)。
-
好吧,正如我所说,您可以使用
Regex.IsMatch()来检查输入是否包含数字。但是请注意,在大多数情况下,对姓名isn't a good idea 施加限制(除非您有充分的理由)。 -
@AhmedAbdelhameed 并不是每个人都喜欢Elon Musk 足以允许合理的任意名称...... :)
-
@AhmedAbdelhameed 我想要这个的原因是因为我正在制作一个 ASP.NET 网站,这实际上是今年最后一个也是最重要的学校项目。我尽量不让我的陪审团成员尽可能多地发现错误,以便他们评判我的工作。