在普通javascript中执行此操作。当我在html输入中输入带有两字节字符的数字时,我在数学上出错了,因为我们正在使用javascript在屏幕上进行操作,结果是“ NaN”。
在幕后,我将输入值(一个数字)并乘以价格乘以得出总计。现在,总数为NaN,带有两个字节数。一个字节的数字对数学很好。
有没有一种方法可以防止在javascript中输入两个字节的字符和字母?
两个字节:1234567 一个字节:123456
所有这些都使用日语来获取两个字节数。
答案 0 :(得分:0)
您可以通过type =“ number”来“阻止” HTML5格式的全角数字,但这可能不是最佳解决方案。有些用户可能不明白为什么他们的全角数字被拒绝。
相反,您可以在接收后将它们转换为半角数字。只是减去两个字符代码的差。
const original = '120444284'
const converted = original.replace(/[0-9]/g, function (s) {
return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
})
document.writeln(converted)
输出
120444284