console
let el = document.getElementById('input')
let targetValue ='0'
el.oninput = function (e) {
// 只保留数字和点
let result1 = el.value.replace(/[^\d.]/g, "")
console.log(result1)
// 根据点划分为数组
let result2 = result1.split('.')
// 通过判断和Number 移除连续的点和00000这种非法数字
let result3 = []
result2.forEach((item)=>{
if(item){
result3.push(Number(item))
}
})
// 重组成字符串
let result4 = result3.join('.')
// 得到结果
console.log(result4)
}
// 字符串排序 <版本号排序>
const arr = ['1.1.1.1', '10.1', '2.1']
function sortFn(arr) {
arr.sort((version1, version2) => {
//先对字符串进行分隔
const v1 = version1.split(".");
const v2 = version2.split(".");
const len = Math.max(v1.length, v2.length);
//依次比较
for (let i = 0; i < len; i++) {
//将字符串转化为数字
const n1 = Number(v1[i] || 0);
const n2 = Number(v2[i] || 0);
if (n1 > n2) return 1;
if (n1 < n2) return -1;
}
return 0;
})
}
sortFn(arr)
<input type="text" id="input">