移动端 html只能输入3位,input 标签输入限制只能输入数字(pc,移动端),金额验证...

针对iOS系统中input type=number无法限制输入为数字的问题,文章提供了一种解决方案,即通过添加pattern属性来实现。同时,文章还详细介绍了金额验证的JavaScript函数checkFloatNumber,该函数用于确保输入的金额格式正确,最多保留两位小数,并在不同情况下对输入值进行校验和处理。
摘要由CSDN通过智能技术生成

h5 input type=number 对于pc端及安卓手机可以限制住输入只能是数字,

但是对与移动端ios手机来说不起作用。

对于ios系统来说需要给input 添加属性pattern="[0-9]*"才能限制输入框只能输入数字。

金额验证:

checkFloatNumber (val){

let reg = new RegExp(/^[0-9]+(.[0-9]{1,2})?$/);

let length_1 = val.length-1;

let length_2 = val.length-2;

if (val) { // 当输入了值

if (!reg.test(val)) { // 并且值不合法

if (reg.test(val.substr(0,length_1))) { // 如果除去最后一位前面的合法

if(val.charAt(length_1) == '.' && val.indexOf('.') == length_1) {

// 当最后一位为小数点并且值中只有一个小数点,则保留值

this.items.paymoney = val;

} else {

// 否则去掉最后一位

this.items.paymoney = val.substr(0,length_1);

}

// 如果除去最后两位前面的合法并且最后两位都是小数点,就去掉最后一位

} else if (reg.test(val.substr(0,length_2)) && val.charAt(length_1) == '.' && val.indexOf('.') == length_2) {

this.items.paymoney = val.substr(0,length_1);

// 否则

} else {

// 如果值只有一位且是小数点,或者值有两位且是‘0.’,则把值置为‘0.’

if(val == '.' || val.substr(0,length_1) == '0.'){

this.items.paymoney = '0.';

} else {

// 否则提示并清空

this.$alert({title:"请输入正确的数值"})

this.items.paymoney = null;

}

}

} else {

// 值合法的时候

// 如果第一位为0且第二位存在且第二位不是小数点,提示并清空值

if(val.charAt(0) == 0 && val.charAt(1) && val.charAt(1) !== '.'){

this.$alert({title:"请输入正确的数值"})

this.items.paymoney = null;

} else {

// 否则保留值

this.items.paymoney = val;

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值