当前位置:主页 > 网页前端 > vue >

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

时间:2022-07-29 09:24:01 | 栏目: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);
}

在这里插入图片描述

您可能感兴趣的文章:

相关文章