element ui input限制只能输入数字

这段代码展示了如何使用JavaScript实现一个输入限制功能,确保用户输入的数字格式正确。它检查输入是否包含非法字符,限制小数点的数量,并防止超过特定长度。此功能对于前端表单验证至关重要,特别是涉及到数值输入的场景。

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

 <el-input  @keydown.native="inputLimit"   placeholder="请输入内容"></el-input>

inputLimit(e){
   let num = e.target.value || ''
    let code = e.which || e.keyCode
    let str = (e.key && e.key != 'Unidentified') ? e.key : num.substr(num.length - 1)
    // console.log('|type:' + e.type + '|code:' + code + '|str:' + str + '|value:' + num)
    //无论任何情况,皆可执行
    if(code == '8') {
        return true
    }
    //没有满足任何一种情况,中断执行
    if(!(/[\d.]/.test(str) || code == '190')) {
        e.returnValue = false
        return false
    }
    // 点,不能再第一位
    if(num.length==0&& num.indexOf('.') == -1&& code == '110'){
        e.returnValue = false
        return false
    }
    // 只能有一个点
    if( num.indexOf('.') != -1 && code == '110' ){
        e.returnValue = false
        return false
    }
    return true
}










/*let inputLimit = function(e) {
		let num = e.target.value || ''
		let code = e.which || e.keyCode
		let str = (e.key && e.key != 'Unidentified') ? e.key : num.substr(num.length - 1)
		console.log('|type:' + e.type + '|code:' + code + '|str:' + str + '|value:' + num)
		//无论任何情况,皆可执行
		if(code == '8') {
			return true
		}
		//没有满足任何一种情况,中断执行
		if(!(/[\d.]/.test(str) || code == '190')) {
			e.returnValue = false
			return false
		}
		if(num.length > 12 ||
			(num.indexOf('.') >= 0 && code == '190') ||
			((num.indexOf('.') == num.length - 3) && num.length > 3) ||
			(num.length == 0 && code == '190')) {
			e.returnValue = false
			return false
		}
		return true
 
	}*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值