html code
<input type="number" value="" id="card_number">
js code
$("#card_number").val('10000000000000000087');
为什么前台只会显示成10000000000000000000
显然是JavaScript的数据精度的问题。
我猜是你input宽度设置的问题
这个数已经超过了2^53,无法精确表达出来了。具体可参见 @Humphry 大大的文章,浅显易懂:http://.com/blog/humphry/1190000000407658
卡号本身就是一个字符串,根本不存在数字运算的意义
我在jsbin中写了个小demo,向input[type="number"]中写字符串,显然这是非法输入,较高版本的jquery有warning信息,信息内容有合法输入所匹配的正则表达式。
你可以对照下你这个数字是否符合。
demo