javascript – 无法从输入类型编号值中删除逗号

我正在尝试使用JS / jQuery从输入值中删除逗号.

输入类型是数字,我正在键盘上运行消毒过程.

当输入类型是文本时,下面的代码工作正常,但当输入类型是数字时,则不能正常工作.

我正在使用输入类型编号作为货币输入,因此我试图删除逗号,例如某人输入$1,000.

我想使用输入类型编号,因为这主要用于移动设备.

有谁知道为什么这可能会取悦?

http://codepen.io/anon/pen/YXvxxK

$('.form input').on('keyup',function() {
  field1 = $('#field1').val();
  var newField1 = parseFloat(field1.replace(/,/g,''));
  console.log(newField1);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form class="form">
  <input type="number" id="field1" />
</form>

解决方法

这里的问题不是你不能删除逗号,而是逗号在类型为数字的输入元素中无效*.

如果我们在您的代码段中输入“1,234”并点击Return,我们会遇到以下验证错误:

发生这种情况是因为值“1,234”被视为无效.由于这是无效的,元素的值将返回为空字符串而不是字符串值“1,234”.

parseFloat(“”.replace(/,/ g,”))返回NaN.

对此的快速解决方法是停止使用数字输入类型并改为使用文本.然而,这可能不是你想要的.另一种方法是检测值是否为空(“”)并向用户显示验证失败消息.

*重要的是要注意这是特定于实现的. HTML5规范声明浏览器供应商是“encouraged to consider what would best serve their users’ needs”.将此处的逗号视为无效是此考虑因素的一部分.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)