js校验输入框中只能输入两位小数的有效数值和根据特定字符查找所在位置

本文介绍了在JavaScript中如何校验输入框内的金额数字,确保最多只包含两位小数。通过`find_str`函数找到小数点位置,并结合`input_checkAmount`函数检查输入值是否符合要求。当输入不符合规则时,会显示错误提示并清空输入值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在开发外汇结汇需求中需要对输入的金额数字进行控制校验,现总结如下:

首先把根据特定字符查找所在位置的方法贴出来,这个在数值校验中需要用到。

//根据特定字符查找所在位置
function find_str(str,f_str,n){
var arr_str;
var tmp_str=0;
var arr_str=str.split(f_str);
if(arr_str.length<n){n=arr_str.length}
for(i=0;i<n;i++){
  tmp_str=arr_str[i].length+tmp_str;
}
return tmp_str+i-1;
}


//校验金额
function input_checkAmount() {
if ((input_amt.value).indexOf(".") > 0) {
var str = (input_amt.value).substr(find_str((input_amt.value), ".", 1) + 1, (input_amt.value).length);
if (str.indexOf(".") > 0) {
error_TXTFXJH.innerHTML = “请输入正确的金额”;
input_amt.value = "";
input_amt.focus();
} else {
if (str.length == 0) {
}else if (str.length >2)
{
error_TXTFXJH.innerHTML = "金额只支持两位小数";
input_amt.value = input_amt.value.substr(0,input_amt.value.length-1);
input_amt.focus();
}else if(!new top.StringCtrl(input_amt.value).isValidAmount()) {
error_TXTFXJH.innerHTML = top.langcur.oPlsInputRightAmt;
input_amt.value = "";
input_amt.focus();
}
}
}
 if((input_amt.value).indexOf("00") ==0){
error_TXTFXJH.innerHTML =“请输入正确的金额”;
input_amt.value = "";
input_amt.focus();
}else {
if (!new top.StringCtrl(input_amt.value).isValidAmount()) {
error_TXTFXJH.innerHTML = “请输入正确的金额”;
input_amt.value = "";
input_amt.focus();
}
}


html代码:

<tr>
<td align="right" class="Tip_Content"><span id="oFxTerminateAmt"></span>:&nbsp;&nbsp;</td>
<td align="left"><input type="text" class="input_short3" name="input_amt" id="input_amt" maxlength="12" onclick="javascript:ShowKeyboard();" onkeyup="return input_checkAmount()"/></td>
</tr>

具体的页面还请以具体项目为准。大体的代码就是这样了,方法和方向都是这样。谢谢参阅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值