Javascript Android设备和浏览器中输入类型编号的捕获点
在下面的代码片段中,如果我在控制台日志中输入“9999999999”和“9999999999.”,则两者都会显示相同的结果“99999999”,但不带点 我试图捕捉点符号,即使在数字之后。这里只允许输入类型编号,不能使用文本或任何其他类型 文本框用于数字Javascript Android设备和浏览器中输入类型编号的捕获点,javascript,jquery,html,Javascript,Jquery,Html,在下面的代码片段中,如果我在控制台日志中输入“9999999999”和“9999999999.”,则两者都会显示相同的结果“99999999”,但不带点 我试图捕捉点符号,即使在数字之后。这里只允许输入类型编号,不能使用文本或任何其他类型 文本框用于数字 Number: <input type='number' id=txtNumber'/> 代码在 请帮助寻找解决方案。原因是您设置了type='number'。 我建议您设置type='text',并使用正则表达式检查输入中的值是
Number: <input type='number' id=txtNumber'/>
代码在
请帮助寻找解决方案。原因是您设置了
type='number'
。
我建议您设置type='text'
,并使用正则表达式检查输入中的值是否为数字(包括点):
您可以使用函数来执行此操作:
$(document).ready(function () {
$('#txtNumber').keyup(function () {
var numbers = $(this).val(); console.log("numbers", numbers);
// dump(numbers);
numbers = parseInt(numbers).toFixed(2);
console.log(numbers);
});
});
它将为您提供所需的输出。因为
“9999999999.”
转换为数字的值是9999999999
。既然它是type='number'
,那么.val()
将把该值转换成一个数字。可能的重复项-为什么要这样做,你想实现什么?你应该测试你的代码。这不仅不起作用,而且你会得到一个错误:numbers.toFixed不是一个函数
。Himanshu-它生成了与numbers类似的错误。toFixed不是一个函数。Himanshu,你编辑的转换现有数据的代码片段,我需要捕获,但不想更改。捕获意味着你能写下期望的结果吗?泰语,输入类型应为数字。
$(document).ready(function() {
$('#txtNumber').keyup(function () {
if ($(this).val().match(/^[0-9]*\.?[0-9]*$/)){ //check if your value is number or not
var numbers = $(this).val(); console.log("numbers", numbers);
}
});
});
$(document).ready(function () {
$('#txtNumber').keyup(function () {
var numbers = $(this).val(); console.log("numbers", numbers);
// dump(numbers);
numbers = parseInt(numbers).toFixed(2);
console.log(numbers);
});
});