Vue 输入框限制 64 位浮点数保留三位小数正则表达式
<template>
<div>
<input type="text" v-model="inputValue" @input="checkInput" />
</div>
</template>
<script>
export default {
data() {
return {
inputValue: ""
};
},
methods: {
checkInput() {
// 限制输入为 64 位浮点数,保留三位小数
const regex = /^-?\d{0,16}(\.\d{0,3})?$/;
if (!regex.test(this.inputValue)) {
this.inputValue = this.inputValue.slice(0, -1);
}
}
}
};
</script>
<p>在上述代码中,我们使用<code>v-model</code>指令将输入框的值绑定到<code>inputValue</code>变量上。然后,在<code>checkInput</code>方法中,我们使用正则表达式<code>/^(-?\d{0,16}(\.\d{0,3})?)?$/</code>来限制输入为 64 位浮点数,保留三位小数。</p>
<ul>
<li><code>^</code>表示匹配字符串的开头;</li>
<li><code>-?</code>表示可选的负号;</li>
<li><code>\d{0,16}</code>表示匹配 0 到 16 位数字;</li>
<li><code>(\.\d{0,3})?</code>表示可选的小数部分,包括一个小数点和 0 到 3 位数字;</li>
<li><code>$</code>表示匹配字符串的结尾。</li>
</ul>
<p>如果输入不符合正则表达式的要求,我们将使用<code>slice</code>方法将最后一个字符删除,以保证输入框中的值符合正则表达式的要求。</p>
原文地址: https://www.cveoy.top/t/topic/pZfx 著作权归作者所有。请勿转载和采集!