注册 登录
编程论坛 ASP技术论坛

怎么判断输入的不是数字啊?在线等

shrewdbean 发布于 2008-10-21 14:31, 1275 次点击
我写了下面这段代码,怎么判断buy_num,即购买的数量不是数字啊,急,在线等:-_-)
<html>
    <head><title>订票</title></head>
    <body bgcolor="yellow" background="banner.jpg" topmargin="1">
        <table border="0" cellspacing="0" style="border-collapse: collapse; border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-top-width: 1; border-bottom-width: 1; border-top-style:solid" bordercolor="#006D91" width="496" bgcolor="#EFEFEF" align="center" height="1">
<%=now%> &nbsp;
    <%    
            dim var_name
            var_name=request.form("input_name")
            dim var_num
            var_num=request.form("input_num")
            dim var_train_num
            var_train_num=request.form("buy_num")
            'response.write"" & var_num1 &""
            dim Conn
             Set Conn=Server.CreateObject("ADODB.Connection")
             dim Strconn
            Strconn="Driver={SQL Server};Server=10.1.40.110;Uid=teacher;Pwd=123;DataBase=test"
            Conn.open Strconn
            sql="insert into total_info(train_number,ticketnum,buyer)values('" & var_train_num & "','"& var_num &"','" & var_name & "')"
            dim a
         Conn.execute sql,a
       
       if a=1 then
                     response.write "订票成功!"

            else
                     response.write "更新失败!"
            end if
            
               
  %>
8 回复
#2
yms1232008-10-21 14:36
Function IsInt(Val)
   On Error Resume Next
   IsInt=True
   IF VarType(CInt(Val))<>2 Then
      IsInt=False
   End IF
End Function
用法
Dim a
a="10"
IF IsInt(a) Then
   Response.Write "a是整数"
Else
   Response.Write "a非整数或数字"
End IF
#3
shrewdbean2008-10-21 14:41
说详细点啊版主大大,我是初学者,我要做一个火车票的订购系统,在表单里输订购的数量和订购者姓名,如果订购的数量不是数字,怎么弹出出错的信息,麻烦了啊-__-!

[[it] 本帖最后由 shrewdbean 于 2008-10-21 14:42 编辑 [/it]]
#4
yms1232008-10-21 14:50
<html>
    <head><title>订票</title></head>
    <body bgcolor="yellow" background="banner.jpg" topmargin="1">
        <table border="0" cellspacing="0" style="border-collapse: collapse; border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-top-width: 1; border-bottom-width: 1; border-top-style:solid" bordercolor="#006D91" width="496" bgcolor="#EFEFEF" align="center" height="1">
<%=now%>  
    <%
Function IsInt(Val)
   On Error Resume Next
   IsInt=True
   IF VarType(CInt(Val))<>2 Then
      IsInt=False
   End IF
End Function
   
            dim var_name
            var_name=request.form("input_name")
            dim var_num
            var_num=request.form("input_num")
            dim var_train_num
            var_train_num=request.form("buy_num")
            IF Not IsInt(var_train_num) Then
               Response.Write "<script language=javascript >alert('buy_num非数字');</script>"
            End IF
            'response.write"" & var_num1 &""
            dim Conn
             Set Conn=Server.CreateObject("ADODB.Connection")
             dim Strconn
            Strconn="Driver={SQL Server};Server=10.1.40.110;Uid=teacher;Pwd=123;DataBase=test"
            Conn.open Strconn
            sql="insert into total_info(train_number,ticketnum,buyer)values('" & var_train_num & "','"& var_num &"','" & var_name & "')"
            dim a
         Conn.execute sql,a
      
       if a=1 then
                    response.write "订票成功!"

            else
                    response.write "更新失败!"
            end if
 %>
虽然是初学者可以理解,但是不动脑筋不锻炼自己永远都会是初学者的。
#5
sunfishy2008-10-21 14:52
if isNumeric(request.form("counts"))=false then

response.write "<script language=javascript>alert('输入数字');</script>"

end if

或者在表单页写个JS.验证input值是否为数字.
#6
gupiao1752008-10-21 15:39
[bo][un]yms123[/un] 在 2008-10-21 14:36 的发言:[/bo]

Function IsInt(Val)
   On Error Resume Next
   IsInt=True
   IF VarType(CInt(Val))2 Then
      IsInt=False
   End IF
End Function
用法
Dim a
a="10"
IF IsInt(a) Then

   Response.Write "a是整 ...

好象着只能判断是不是整数啊!要判断是不是数字,应该改下吧!如下:

Function IsInt(Val)
   On Error Resume Next
   IsInt=True
   IF VarType(CInt(Val))<2 And VarType(CInt(Val))>5 Then
      IsInt=False
   End IF
End Function
'用法
Dim a
a="abc"
IF IsInt(a) Then
   Response.Write "a是数字!"&IsInt(a)
Else
   Response.Write "a非数字!"&IsInt(a)
End If
#7
fengmumei2008-10-21 15:45
输入的时候判断一下按键的输入值,如果不是0-9的就不让它输入就行了呗。
#8
anlige2008-10-21 16:39
[bo][un]sunfishy[/un] 在 2008-10-21 14:52 的发言:[/bo]

if isNumeric(request.form("counts"))=false then

response.write "alert('输入数字');"

end if

或者在表单页写个JS.验证input值是否为数字.


这样就可以的啊~呵呵~
#9
shrewdbean2008-10-21 16:55
谢谢各位的热心,我是用这句解决的:

if not isnumeric(var_num) then
response.Write "不是数字格式"
end if

if not isnumeric(var_train_num) then
Response.Write "不是数字"
end if
1