问题:
input type="number",输入的值为数字 0214 ,怎么把这个 0214 转换为字符串的 '0214' 呢?
调用toString(),还是toFixed(),方法默认会把以0开头的数字转换为8进制,转换的结果为 140 。
问题:
input type="number",输入的值为数字 0214 ,怎么把这个 0214 转换为字符串的 '0214' 呢?
调用toString(),还是toFixed(),方法默认会把以0开头的数字转换为8进制,转换的结果为 140 。
你要字符串就要求输入字符串就好了type=text,可以在onkeydown里面判断event.keycode都是数字.
document.querySelector("input").onkeydown= function (e){
console.log(e);
if(e.key>="0" &&e.key<="9"||e.code=="Backspace") return true;
else return false;
}
你在 console 里试的是 javascript 的 numeric literal,这个自然是按照 js 的 Numeric literal 的方式去解析的。
但是,你不能从 input 里拿到一个 numeric literal (除非你把它拼进一个 eval )。
<input type="number">
的 value已经是一个 Number ,而从字符串生成这个 Number 的过程与 javascript 解析里面量是不同的。这个解析过程不会把开始的 0 当成八进制标志。
但是,这样的话,你再把它转成字符串,开始的 0 就丢掉了。需要保留的话,就不要用 type="number"
了,用 type="text"
吧,可以直接拿到一个字符串。
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
type=text不行吗?