本文主要介绍了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);
}

在这里插入图片描述

 到此这篇关于vue 输入框输入任意内容返回数字的实现的文章就介绍到这了,更多相关vue 输入框输入返回数字内容请搜索阿兔在线工具以前的文章或继续浏览下面的相关文章希望大家以后多多支持阿兔在线工具!

点赞(0)

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部