当前位置:编程学习 > asp >>

asp .net 中 怎么判断文本框的值是否是数字??

string pwdanswer = this.PwdAnswer.Text.Trim();
if(pwdanswer 不是数字)
{
输出信息“请输入数字”!
}
答案:
一种方法 .在input 标签中直接加入  onKeyPress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;"  可防治输入字母. 如果想要提交验证不能为数字.则

如何判断一个字符是不是汉字呢?其实在asp中至少有两种方式
一、直接将某字符用asc转为ASCII码,如果是英文,他应该是0-127的范围,而汉字则是一个比较大的数字,所以可以使用以下代码来判断:


if abs(asc(whichChar))>127 then
Response.write whichChar & "是一个汉字"
else
Response.write whichChar & "不是一个汉字"
end if

二、汉字的UNICODE编码范围是4e00-9fa5,所以使用正则表达试就可以判断一个汉字是不是汉字了。
Set RegExpObj=new RegExp
RegExpObj.Pattern="^[\u4e00-\u9fa5]+$"
ReGCheck=RegExpObj.test(whichChar)
Set RegExpObj=nothing

if ReGCheck then
Response.write whichChar & "是汉字"
else
Resposne.write whichChar & "不是汉字"
end if
string pwdanswer = this.PwdAnswer.Text.Trim();
if(!String.isNumber(pwdanswer))
{
输出信息“请输入数字”!
}
private bool IsNumeric(string str)
{
if (str == null || str.Length == 0)
return false;
System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
byte[] bytestr = ascii.GetBytes(str);
foreach (byte c in bytestr)
{
if (c < 48 || c > 57)
{
return false;
}
}
return true;
}

string pwdanswer = this.PwdAnswer.Text.Trim();
if(!IsNumeric(pwdanswer))
{
MessageBox.Show("请输入数字!");
}
try   
{
string pwdanswer = this.PwdAnswer.Text.Trim();
if(Convert.ToDouble(pwdanswer))
{
}
}
catch
{
输出信息“请输入数字”!
}
1)Convert.ToInt32()
用Convert的转换到数字方法

2)使用RegExp正则表达式
^\d+$

上一个:asp.net 中如何设置Table 中单元格的值
下一个:如何学习ASP语言

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,