由于JavaScript的原因,iPhone在输入数字字段中添加了逗号
iPhone adds commas to input number field due to JavaScript
我们有一个从移动浏览器获取信用卡的订单:<input type="number"id="txtCCNumber"/>
此外,我们还有一个JavaScript,它可以删除插入字段中的任何非整数字符:
$('input#txtCCNumber').keyup(function(e)
{
var ccnum = $(this).val();
$(this).val(ccnum.replace(/[^'d]/g, ''));
});
然而,我们刚刚意识到,当人们使用iPhone尝试输入信用卡时,iPhone会自动每3个数字添加一个逗号(因为JavaScript)。
有人知道修复这个JavaScript的方法吗?
我不想使用type="tel"。在这种情况下,这不是一个解决方案
就我个人而言,我不认为信用卡号是input type="number"
的合适用法。根据规格:
具有值为"number"的type属性的输入元素表示用于将元素值设置为表示数字的字符串的精确控件。
信用卡"数字"是一串数字,但它们不能识别特定的数值,用户使用一些浏览器附加到输入字段的上下箭头输入信用卡号码是没有意义的。您的最佳选择是简单地使用input type="text"
。
此外,将该JavaScript附加到keyup
事件会惹恼像我这样想用分隔符输入信用卡号的人,因为这样更容易抽查。只要让人们随意输入他们的卡号,然后将其正常化即可。
我看不出你为什么在信用卡号码字段中使用type="number",因为你无论如何都在使用JS删除非整数值。在这里使用type="text"会很合适。
相关文章:
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 输入字段,只接受0到12之间的数字
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- angularjs在数字(html5)字段中将0转换为1
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- 在粘贴事件Javascript的输入字段中删除所有非数字字符
- 如何使文本、数字和日期html输入字段以一致的方式支持Ctrl+Z(撤消)
- 如何从动态输入字段添加数字
- 要检查的正则表达式数值字段没有 /或具有所有相同的数字
- 如何在javascript中获取隐藏字段的数字和
- OData:对url请求中的数字(ID)字段进行通配符(startswith)筛选
- 根据输入字段中键入的数字更改td单元格的颜色
- 如何使用鼠标或触摸更改数字输入字段
- 将字符串返回到类型为“0”的输出字段;数字“;针对用户错误javascript
- 使用输入数字值作为另一个字段的输入数字最大值
- 我如何在文本输入字段中输入数字,而无需在 JavaScript 或 jQuery 中输入模式
- Angular2:仅包含数字的字段的自定义验证
- 从 JSON 解析数组,其中每个字段键都是一个数字
- 使用java脚本在acrobatpdf表单中更改字段数字样式