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

前端 - input框,type="number" 在有的浏览器输入小数点时,光标会自动跑到最前面去,怎么解决?

裴硕
2023-04-20

在做项目时,因为用到比较多的输入金额的input框,设置type="number",用户在使用时反馈输入小数点光标会跑最前面去。应该是浏览器差异的原因,但网上很少能找到相应的答案。请问大家有没有遇到类似的问题,最后怎么解决的。

共有2个答案

穆锋
2023-04-20

写一个自定义指令,支持输入浮点数的,type=number有好多坑的

曾歌者
2023-04-20

你可以参考一下这个处理方式

<input type="text" id="numberInput" oninput="validateInput(this)" />

function validateInput(input) {
  // 允许输入数字和小数点
  const regex = /^(\d*\.?\d*)$/;

  if (!regex.test(input.value)) {
    // 移除非法字符
    input.value = input.value.replace(/[^0-9.]/g, '');

    // 仅允许一个小数点
    const parts = input.value.split('.');
    if (parts.length > 1) {
      input.value = `${parts[0]}.${parts.slice(1).join('')}`;
    }
  }
}
 类似资料:
  • 在safari浏览器下,页面输入框聚焦后,整个页面高度会向下缩小,输入框失焦后恢复正常;而且不是必现,是页面在手机后台半天后再打开激活才会出现的情况。 谷歌没搜索到相关safari浏览器的优化文档。 请问各位大佬知道怎么样才能阻止这种高度缩小的情况发生或者有相关文档吗? 蓝色部分是调试模式下的html标签区域

  • el-input框输入的问题 el-input是通过封装的,在data里面是这样使用的,代码如下 userName: { }, 现在的赋值 const res = await getCompanyInfo() res.data.companyCode是接口api返回来的数据固定的字段,显示在页面上 现在的需求是 返回来的字段是固定的不能让客户删除,只能在固定的字段后面添加跟删除,现在想要在inpu

  • 功能点是点击搜索id后,input框清空,再次输入相同的值就提示已有相同的值 代码如下: 期望如果重复的id 就提示 相同的id,也就不调接口了

  • 现在的QQ浏览器都是IE11的内核,怎么才能更新的之前的ie8内核, 我想把我的QQ浏览器内核还原到IE8的内核,有大佬们知道吗? 请问QQ浏览器在什么情况下会切换内核啊。开始是Chromium94.0.4606.71 后面切换到IE8 了

  • 如果字符串包含以下内容,则该字符串是有效的浮点数: 可选“-”(U+002D)字符。 按照给定的顺序,下列一项或两项: 一个或多个ASCII数字的序列。 一个单一的“。(u+002e)字符。 一个或多个ASCII数字的序列。 “E”(U+0065)字符或“E”(U+0045)字符。 可选“-”(U+002D)字符或“+”(U+002B)字符。 一个或多个ASCII数字的序列。 null 在IE11