当前位置: 首页 > 知识库问答 >
问题:

前端 - js,只能输入正浮点数的正则?

壤驷德寿
2023-07-20

要求是能控制整数和小数的位数,gpt用了,答案是错的。

共有6个答案

喻子航
2023-07-20

// 正浮点数
/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/

// 正浮点数,保留n位小数,含0
/^(0|(0|[1-9][0-9]*)+(\.\d{n}))$/

傅阿苏
2023-07-20

/^(?!0*(\.0+)?$)\d{1,m}(\.\d{1,n})?$/

以3位整数和2位小数为例,你可以使用以下的正则表达式:

/^(?!0*(\.0+)?$)\d{1,3}(\.\d{1,2})?$/

姚雅珺
2023-07-20

重新发,之前的有问题。输入时允许 2. 出现, 所以提交的时候要判断。

<script setup> function inputFun(params) {  let target = params.target;  let value = target.value;  //  15 是 js 的安全小数位  let bool = /^[0-9](|\.|\.[0-9]{1,15})$/.test(value);  if (!bool) {     let val1 = value.match(/^[0-9]\.[0-9]{1,15}/);    let val2 = value.match(/^[0-9]\./);    let val3 = value.match(/^[0-9]/);    if (val1) target.value = val1[0];    else if (val2) target.value = val2[0];    else if (val3) target.value = val3[0];    else target.value = "";   }}</script><template>  <main>    <input @input="inputFun" />  </main></template>
鄢英毅
2023-07-20
/^(?:[1-9]\d{0,整数位数-1}|0(?![.0]*$))\.\d{1,小数位数}$/

如,要求3位以内整数位,5位以内小数位

/^(?:[1-9]\d{0,2}|0(?![.0]*$))\.\d{1,5}$/
姚兴安
2023-07-20

为什么非要用正则?直接转换一下,用数字判断结果就行了。

东方明亮
2023-07-20
<el-input  placeholder=""  v-model="approvalScale"  oninput="value=value.replace(/[^\d.]/g, '').replace(/^\D*(\d{1,12}(?:\.\d{0,4})?).*$/g, '$1')">

控制整数位数目:
image.png
控制小数位数:
image.png

两个replace需要结合使用

 类似资料:
  • 本文向大家介绍JS只能输入正整数的简单实例,包括了JS只能输入正整数的简单实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上就是小编为大家带来的JS只能输入正整数的简单实例全部内容了,希望大家多多支持呐喊教程~

  • 有一个如下的正则表达式,我想用于保证输入框内输入的数字只能输入到小数点后三位。 但是用了这个正则表达式一输入小数点,输入的光标就回到最前面去了也没输入小数点 输入框是type为number的input框,正则表达式相关代码如下 希望能实现保证小数点后只能最多输入三位的效果。。 /这里往下时追加问题 后面了解到很可能是type为number的input框做了什么操作影响结果,于是直接采用原生inpu

  • 本文向大家介绍限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数,包括了限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数的使用技巧和注意事项,需要的朋友参考一下 onlyNumber.html 测试代码: 以上代码内容简单给大家介绍了限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数的知识,希望能够帮助到大家!

  • 问题内容: 我期望的是0.313而不是0.312,为什么会这样呢?还有其他方法可以用来获得0.313吗? 谢谢 问题答案: Python 3使用舍入到偶数方法根据IEEE 754标准进行舍入。 如果您想采用另一种方式取整,则只需手动实施即可: 用法示例: 注意: 在python2中,舍入总是远离零,而在python3中,它舍入为偶数。(例如,请参见功能文档中的2.7和3.3之间的区别)。

  • 问题内容: 我有一个任务要匹配浮点数。我为此编写了以下正则表达式: 但是,它返回一个错误: 据我所知,我们还需要使用转义字符.。请纠正我哪里我错了。 问题答案: TL; DR 使用[.]代替.和[0-9]代替\d以避免在某些语言(例如Java)中转义问题。 感谢无名的人最初认识到这一点。 匹配浮点数的一种相对简单的模式是 这将匹配: 查看工作示例 如果您还想匹配123.(无小数点的句点),则需要稍

  • 本文向大家介绍文本框只能输入数字的js代码(含小数点),包括了文本框只能输入数字的js代码(含小数点)的使用技巧和注意事项,需要的朋友参考一下 只能输入0-9多包括小数点 以上这篇文本框只能输入数字的js代码(含小数点)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。