2017年8月货币政策:请问如何在ASP中判断一个TEXT里输入的数据类型?

来源:百度文库 编辑:高校问答 时间:2024/05/06 07:45:52
我写了一个form表单,用来计算。如果输入的数据类型是字母的话运行就会出错,源代码如下
jisuan.asp

<form name="form1" method="post" action="jisuan1.asp">
<div align="left">
<p>操作数1:
<input type="text" name="text1">
<br>
操作数2:
<input type="text" name="text2">
</p>
<p>选择你要进行的操作<br>
<input type="radio" name="radiobutton" value="jia" checked>
加<br>
<input type="radio" name="radiobutton" value="jian">
减<br>
<input type="radio" name="radiobutton" value="cheng">
乘<br>
<input type="radio" name="radiobutton" value="chu">
除</p>
<p>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
<br>
</p>
</div>
</form>

jisuan1.asp
<%
fuhao=request("radiobutton")
text1=request("text1")
text2=request("text2")
if text1=""then
response.Write "<script language='JavaScript'>"
response.Write "alert('请输入数字!');"
response.Write "window.history.back(1)"
response.Write "</script>"
response.End
elseif text2=""then
response.Write "<script language='JavaScript'>"
response.Write "alert('请输入数字!');"
response.Write "window.history.back(1)"
response.Write "</script>"
response.End
end if
if fuhao="jia" then
jieguo=csng(text1)+csng(text2)
response.write"结果等于"&jieguo
elseif fuhao="jian" then
jieguo=text1-text2
response.write"结果等于"&jieguo
elseif fuhao="cheng" then
jieguo=text1*text2
response.write"结果等于"&jieguo
else
jieguo=text1/text2
if jieguo<1 then
jieguo=0.&jieguo
end if
response.write"结果等于"&jieguo
end if
%>

希望大家能详细告知方法,并说明含义

建议在第一页就验证,加快访问速度,给Form增加一个属性onsubmit="return 验证函数名()"
然后在验证函数里写javascript代码
同时写一个验证函数(类似的验证函数可一些多个如验证email等)
function validateNumber(str){
var i,temp,f=true;
if(str.substr(0,1)=='-')
i=1
else
i=0;
for(;i<str.length;i++){
temp=str.substr(i,1);
if (temp<'0' || temp>'9'){
f=false;
break;
}
}
return f;
}
然后将判别写在第一页
如果非要在第二页用ASP写那么可以在第二页写一个函数
function validateNumber(str)
dim i,temp
validateNumber = true
if mid(str,1,1)='-' then
temp=2
else
temp=1
end if
for i=temp to len(str)
temp=mid(str,i,1)
if temp<'0' or temp>'9' then
f=false
break;
end if
next
end function
以上只是判断整数的函数,如果是浮点数还需要判断'.'的个数与位置

用函数 isNumeric(要判断的字符串)
如果是数字返回true
不是返回false

由于asp 中使用vb script,所以它变量是没有特定类型的,只能通过具体类型判断函数去判断。明白了吗?

vb script是弱类型语言,不像c/c++/java等等是强类型语言.

好厉害啊