Dùng replace() với regex /\D|^0+/g để xóa: ký tự không phải số (\D) HOẶC số 0 ở đầu chuỗi (^0+).
Ví dụ
var vals = ["5001000", "100000005", "05000001", "00000000006456"];
vals.forEach(v => console.log(v.replace(/\D|^0+/g, "")));
Cách chạy
node demo.js
Kết quả
5001000
100000005
5000001
6456
Giải thích Regex:
\D- khớp ký tự KHÔNG phải digit (giữ lại chỉ số)|- OR^0+- khớp 1 hoặc nhiều số 0 ở ĐẦU chuỗig- global (tất cả)
Chỉ xóa leading zeros (giữ ký tự khác): str.replace(/^0+/, '')