JS正则限制价格输入 0.01~ 99999.99
【摘要】
需求:
1. 最小0.01 2. 最大99999.99 3. 保留2位小数点
一:
if (!(/(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/.test(r...
需求:
1. 最小0.01
2. 最大99999.99
3. 保留2位小数点
一:
if (!(/(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/.test(row.tempPirce)) || row.tempPirce > 99999.99 || Number(row.tempPirce) === 0) return this.$Message.error(this.$t('请输入不超过99999.99的金额,不可为0'))
- 1
这里转了一下Number。。。 因为用的===, 输入的价格是string
二:
function fn(num) {
let reg = /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/
if (reg.test(num) && (num > 99999.99 || num == 0)) {
console.error('不符合区间')
}
if (!reg.test(num)) {
console.error('num最多两位小数')
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
大同小异
正则限制输入为数字,且最多输入2位小数
//检查输入文本,限制只能为数字并且数字最多带2位小数
checkInputText: function(text){
var reg = /^(\.*)(\d+)(\.?)(\d{0,2}).*$/g;
if (reg.test(text)) { //正则匹配通过,提取有效文本
text = text.replace(reg, '$2$3$4').replace(/^0+/, '0');
}
else { //正则匹配不通过,直接清空
text = '';
}
return text; //返回符合要求的文本(为数字且最多有带2位小数)
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
文章来源: lvsige.blog.csdn.net,作者:祥子的小迷妹,版权归原作者所有,如需转载,请联系作者。
原文链接:lvsige.blog.csdn.net/article/details/118570374
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)