需要实现一个需求:输入框中输入十六进制数如123ABC,实际传给后台时需要在前面补齐00,补满8位变成00123ABC,在Chrome和FF中我只用了一个padStart(8,0)即可解决问题,但是现在仍然需要适配老的IE浏览器,这个函数就不支持了,有没有什么办法可以补齐呢,不用体现到页面上,在提交的时候补到URL上即可,需要用到原生JS,因为是硬件要用无法使用框架和库
PS:没描述清楚,要求n位,但是输入的位数是不确定的, 所以不能简单拼接吧
IE 5 以上都可以支持。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var a = '124asd';
if (!String.prototype.padStart) String.prototype.padStart = function (maxlength, fillString) {
var res = '';
for (var i = 0; i < maxlength - this.length; i++) res += fillString || ' '
return res + this
}
console.log(a.padStart(8, '0'));
</script>
</body>
</html>
直接字符串拼接不行吗?
原生 js 就能实习,字符串 分割 然后 拼接
直接拼接 00 + ‘123ABC’