糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 正则表达式:去掉数字(整数 小数)前面多余的零

正则表达式:去掉数字(整数 小数)前面多余的零

时间:2022-12-28 06:52:07

相关推荐

正则表达式:去掉数字(整数 小数)前面多余的零

方案1:

来源:/question/277893180.html如果是整数:去掉整数前的零 例如:0098765--->98765如果是小数:去掉小数前的零 例如:000.333--->0.333 再例如000.00--->0.00<input onblur="b=this.value;b=(b+'').replace(/^0+\./g,'0.');b.match(/^0+[1-9]+/)?b=b.replace(/^0+/g,''):b;this.value=Number(b)?b:0;">

方案2:正则校验:去除带整数和小数的数字前后多余的0和多余小数点

对于用户输入的 0003.4000这种数字,其实我们需要的就是3.4,多余的0不仅视觉上不好看,在存储时也很不方便。怎么让我们在用户完成输入后,清除掉这些无用的0数字呢?

此外,对于输入了2.3.3多个小数点这种错误字符,value为空,但输入框未清空,需要手动清空

<el-inputtype="number"@blur="handleBlurWeight(answer, $event)"v-model="answer"></el-input>......handleBlurWeight (item, event) {this.answer = handleBlurDots(item, event);}

这里提供了一个通用的方法handleBlurDots:

// 输入框为数字类型,不允许存在2.3.3连续小数点。(此时value为空,但输入框未清空,手动清空)export function handleBlurDots (item, event) {if (item === '') {setTimeout(() => {event.target.value = '';}, 60);}// 去除整数前的0和小数点后多余的0,如011.020300 =》 11.0203const reg1 = /0*([1-9]\d*|0\.\d+)/;const reg2 = /(?:\.0*|(\.\d+?)0+)$/;event.target.value = event.target.value.replace(reg1, '$1').replace(reg2, '$1');return event.target.value;}

如果觉得《正则表达式:去掉数字(整数 小数)前面多余的零》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。