C# 如何防止第一个字符是数字
我有一个文本框控件,允许用户只输入字母或数字:C# 如何防止第一个字符是数字,c#,C#,我有一个文本框控件,允许用户只输入字母或数字: private void tbTableName_TextChanged(object sender, EventArgs e) { tbTableName.Text = string.Concat(tbTableName.Text.Where(char.IsLetterOrDigit)); if (tbTableName.Text.Length > 0)
private void tbTableName_TextChanged(object sender, EventArgs e)
{
tbTableName.Text = string.Concat(tbTableName.Text.Where(char.IsLetterOrDigit));
if (tbTableName.Text.Length > 0)
{
btnConvert.Enabled = true;
}
else
{
btnConvert.Enabled = false;
}
}
如何修改,使第一个字符不能是数字,只能是字母,然后他们可以添加任意数量的数字
我有一个WinForm,不是Web表单。如果第一个字符是数字,您可以删除它:
if (tbTableName.Text.Length > 0 && char.IsNumber(tbTableName.Text[0]))
tbTableName.Text = tbTableName.Text.Substring(1);
您只需修改此行:
if (tbTableName.Text.Length > 0)
致:
为什么不使用正则表达式 我编辑正则表达式,允许用户在第一个数字后添加数字或字母
btnConvert.Enabled=System.Text.RegularExpressions.Regex.IsMatch(输入“^[a-zA-Z][a-zA-Z0-9]+$”
检查tbTableName.Text[i]
有什么困难?我得到的索引超出了数组错误的范围。@SiKni8-编辑了我的答案。您必须先检查tbTableName
是否包含一些文本,然后才能尝试访问它的任何项目。不确定为什么是否决票。我投了赞成票,到时候会接受的。让我说:)谢谢。刚刚也接受了你的编辑。删除了ToString,因为它不需要。tbTableName.Text已经是字符串。用户只能输入字母和数字,但第一个字符不能是数字。。。这样就可以了吗?如果第一个数字是一个数字,我希望它删除它。谢谢你的回答。
if (tbTableName.Text.Length > 0 && !Char.IsDigit(tbTableName.Text[0]))
private void tbTableName_TextChanged(object sender, EventArgs e)
{
string name = Regex.Replace(tbTableName.Text, @"^\d+|\W", string.Empty);
btnConvert.Enabled = name.Length > 0;
tbTableName.Text = name;
}