vue 输入框输入任意内容返回数字

vue 输入框输入任意内容返回数字

输入任意内容只返回数字


// 提取数字 传入数字
export function changeEvent(item) {
	let nums = item + "";
	if (nums === "") {
		nums = ""; // 空的话 直接返回空
	} else {
		nums = nums.replace(/[^\d|\.]/g, ""); // 提取出来 一定是数字
		if (nums.includes(".")) {
			// 包含小数点
			let strL = nums.substring(0, nums.indexOf("."));
			let strR = nums.substring(nums.indexOf(".") + 1);
			nums = strL + "." + strR;
		}
		// else {
		// 	// 不包含小数点
		// 	nums = nums.replace(/[^\d|\.]/g, ""); // 提取出来 一定是数字
		// }
	}
	return nums;
}

// 离开输入事件 
export function blurEvent(x, y) {
	if (x === "") {
		y.manualScore = "";
	} else {
		x = x + "";
		let nums;
		if (x.includes(".")) {
			// 包含小数点
			nums = x.replace(/[^\d|\.]/g, ""); // 提取出来 一定是数字
			let strL = nums.substring(0, nums.indexOf("."));
			let strR = nums.substring(nums.indexOf(".") + 1);
			strR = strR.replace(/\./gi, ""); // 去除多余小数点
			if (strL === "" && strR === "") {
				nums = "0"; // 有小数点,但左侧右侧都为空 默认为0
			} else if (strL === "" && strR !== "") {
				// 左侧为空 右侧不为空 小数
				nums = "0." + strR;
			} else if (strL !== "" && strR === "") {
				// 右侧为空 左侧不为空 整数
				nums = strL;
			} else if (strL !== "" && strR !== "") {
				nums = strL + "." + strR;
			}
		} else {
			nums = x.replace(/[^\d|\.]/g, ""); // 提取出来 一定是数字
		}
		let z = nums * 1 || "";
		z = z < 0 ? 0 : z;
		y.manualScore = z;
	}
	console.log("x", x, "y:", y);
}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端酱紫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值