在c#.net中,如何判断文本框中的值是否是数字?我想验证身份证输入是否正确。

大哥们帮我问下,在c#.net中,如何判断文本框中的值是否是数字?我想验证身份证输入是否正确。
最新回答
季沫怡

2024-10-02 07:44:48

用下面这段代码
public static bool IsNumber(String checkNumber)
{
bool isCheck = true;

if (string.IsNullOrEmpty(checkNumber))
{
isCheck = false;
}
else
{
char[] charNumber = checkNumber.ToCharArray();

for (int i = 0; i < charNumber.Length; i++)
{
if (!Char.IsNumber(charNumber[i]))
{
isCheck = false;
break;
}
}
}

return isCheck;
}
然后调用这个方法就可以了,如果有特殊字符,比如“X”,就用下面这个方法,
string strTxt=textbox.Text.Trim();
string str = strTxt.Replace("X", string.Empty);
if(!IsNumber(str))
{
MessageBox.show("请输入正确的身份证号");
return;
}
这段代码是将特殊字符认为空后
然后在调用最上面那个方法来判断是不是数字就可以了。
探春

2024-10-02 18:26:18

在验证控件里面 拖上ReguarExpressionValidator
正则表达式验证控件。
然后在控件属性里面 找到ValidationExpression这个验证属性,选择身份证验证
\d{17}[\d|X]|\d{15}
在把ControlToValidate属性选择
你要验证的 对应 文本框
绝绝子

2024-10-02 09:58:33

char.IsDigit();可以判断一个字符是否是数字。
但是仅仅这样还不行,因为身份证最后一位可能是X。
需要考虑到这一点,不过也很容易解决。