u.changIp = function(e){ if (e.value = e.value.replace(/((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?
\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/,'')) { return;
}else { //其他提示
}校验ip地址的是否合法的代码是这样的,但是无法校验成功,试过new RegExp()创建,貌似还是没有效果,但是我用这种写法来校验只允许输入数字的时候就能生效,校验输入数字的代码: e.value = e.value.replace(/D/g,'');可是把这条正则放到后台上又可以校验成功 @Pattern(regexp="^$|((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)",message="网关,格式错误")请问是什么原因?没有报错,是oninput事件绑定的相关代码 u.changeNub = function(e){ //这个是校验数字的,能成功
if (e.value = e.value.replace(/\D/g,'')) { return;
}else {
api.toast({ msg: '只允许输入数字', duration: 2000, location: 'bottom'
});
}
}//这是校验ip的,没有效果if (e.value = e.value.replace(/((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/,''))你期待的结果是什么?实际看到的错误信息又是什么?
1 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
js里单斜杠代表对特殊字符转译,而\d
本身就是个规则用来匹配数字,\\d
代表匹配字符\
和英文字母d
的组合
同理\.
代表匹配符号.
,双斜杠代表匹配字符\.
而你的正则还能简化,最终的正则应该是((?:(25[0-5]|2[0-4]\d|[01]?\d?\d)\.)){3}\2
- 1 回答
- 0 关注
- 429 浏览
添加回答
举报
0/150
提交
取消