element列表ip地址校验 子传父

ts代码
父组件

		<resource-view :resourceList="formInline.resourceList" ref="resourceRef"></resource-view>

子组件

 resourceList.value 是列表里的数据 
//抛出方法
const checkFuc = () => {
传列表值过去
	return { data: resourceList.value };
};
defineExpose({
	checkFuc
});
保存的操作
		let ipData = resourcesRef.value.checkFuc();
				let regObj = false;
				ipData.data.forEach((item: any) => {
					if (item.ipAddr) {
						let reg = checkIp(item.ipAddr);
						if (reg) {
							regObj = true;
						}
					}
				});
				if (regObj) {
					ElMessage.error({ message: "请输入正确的IP地址" });
					resolve(false);
					return;
				}

ip方法

const checkIp = (ip: any) => {
	let arr = ip.split(",");
	let flag = false;
	if (arr.length == 1) {
		flag = checkIp2(ip);
	} else {
		for (let i = 0; i < arr.length; i++) {
			if (checkIp2(arr[i])) {
				flag = true;
				break;
			}
		}
	}
	return flag;
};

const checkIp2 = (ip: any) => {
	let arr = ip.split("-");
	let reg =
		!/^(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9]))$/.test(
			arr[0]
		);
	return reg;
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值