JSP 中 用JS判断文本框中的内容是否可以转化为Float型
我在JAVA工程下测试可以的代码:packagecom.myBanckMs;publicclasstest{/***@paramargs*/publicstaticvoi...
我在JAVA工程下测试可以的代码:
package com.myBanckMs;
public class test {
/** * @param args */ public static void main(String[] args) { String str="100"; // TODO Auto-generated method stub if(str==""){ System.out.println("str为空"); }else{ try{ if(Float.parseFloat(str)<10){ System.out.println("小于10"); } }catch(Exception e){ System.out.println("无法转化"); } } } } WEB工程中 JSP 下 JS处的代码:if(theform.moneyAmount.value==""){ alert("金额不能为空!"); theform.moneyAmount.value==""; theform.moneyAmount.focus(); return false; }else{ try{ if(Float.parseFloat(theform.moneyAmount.value)<100){ alert("金额低于100不开户!"); theform.moneyAmount.value==""; theform.moneyAmount.focus(); return false; } }catch(Exception e){ alert("请输入正确的金额!"); theform.moneyAmount.value==""; theform.moneyAmount.focus(); return false; } } 前者测试可以,而后者似乎并不起作用,如果注释掉ELSE{。。。}中的内容,相应的文本框不输入内容时还能判断是否为空(弹出金额不能为空的对话框);倘若不注释的话,就完全没用了,请帮我看看问题在哪儿?? 展开
package com.myBanckMs;
public class test {
/** * @param args */ public static void main(String[] args) { String str="100"; // TODO Auto-generated method stub if(str==""){ System.out.println("str为空"); }else{ try{ if(Float.parseFloat(str)<10){ System.out.println("小于10"); } }catch(Exception e){ System.out.println("无法转化"); } } } } WEB工程中 JSP 下 JS处的代码:if(theform.moneyAmount.value==""){ alert("金额不能为空!"); theform.moneyAmount.value==""; theform.moneyAmount.focus(); return false; }else{ try{ if(Float.parseFloat(theform.moneyAmount.value)<100){ alert("金额低于100不开户!"); theform.moneyAmount.value==""; theform.moneyAmount.focus(); return false; } }catch(Exception e){ alert("请输入正确的金额!"); theform.moneyAmount.value==""; theform.moneyAmount.focus(); return false; } } 前者测试可以,而后者似乎并不起作用,如果注释掉ELSE{。。。}中的内容,相应的文本框不输入内容时还能判断是否为空(弹出金额不能为空的对话框);倘若不注释的话,就完全没用了,请帮我看看问题在哪儿?? 展开
3个回答
展开全部
用正则表达式最简单:
function check(){
if(theform.moneyAmount.value==""){ alert("金额不能为空!"); theform.moneyAmount.value==""; theform.moneyAmount.focus(); return false; } var regx = /^\d{1,10}$|^\d{1,10}\.\d{1,2}$/gi; //金额可以是整数,最大10位也可以小数保留2位 if(!regx.test(theform.moneyAmount.value)){ alert("金额格式不合法!"); theform.moneyAmount.value=="";
theform.moneyAmount.focus();
return false;
} if(parseFloat(theform.moneyAmount.value)<100) alert("金额低于100不开户!"); theform.moneyAmount.value==""; theform.moneyAmount.focus(); return false; }return true; }
function check(){
if(theform.moneyAmount.value==""){ alert("金额不能为空!"); theform.moneyAmount.value==""; theform.moneyAmount.focus(); return false; } var regx = /^\d{1,10}$|^\d{1,10}\.\d{1,2}$/gi; //金额可以是整数,最大10位也可以小数保留2位 if(!regx.test(theform.moneyAmount.value)){ alert("金额格式不合法!"); theform.moneyAmount.value=="";
theform.moneyAmount.focus();
return false;
} if(parseFloat(theform.moneyAmount.value)<100) alert("金额低于100不开户!"); theform.moneyAmount.value==""; theform.moneyAmount.focus(); return false; }return true; }
展开全部
改成这样的就行了
function check(){
if(theform.moneyAmount.value==""){
alert("金额不能为空!");
theform.moneyAmount.value=="";
theform.moneyAmount.focus();
}else{
try{
if(parseFloat(theform.moneyAmount.value)<100)
alert("金额低于100不开户!");
theform.moneyAmount.value=="";
theform.moneyAmount.focus();
}
catch(err)
{
alert("请输入正确的金额!");
theform.moneyAmount.value=="";
theform.moneyAmount.focus();
}
}
}
function check(){
if(theform.moneyAmount.value==""){
alert("金额不能为空!");
theform.moneyAmount.value=="";
theform.moneyAmount.focus();
}else{
try{
if(parseFloat(theform.moneyAmount.value)<100)
alert("金额低于100不开户!");
theform.moneyAmount.value=="";
theform.moneyAmount.focus();
}
catch(err)
{
alert("请输入正确的金额!");
theform.moneyAmount.value=="";
theform.moneyAmount.focus();
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前台用JS 正则表达式来验证 文本框中值符合格式
后台接收的时候一定要加catch 以防出现异常。
后台接收的时候一定要加catch 以防出现异常。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询