DEMO
reverse
- это метод для Array.prototype
- он работает с массивами. Поскольку val
является строкой, вам нужно вызвать val.split('')
, чтобы получить ее в массив.
function num(val){
var result = val.split('').reverse().join("")
.match(/[0-9]{1,3}/g).join(",")
.match(/./g).reverse().join("");
return result
}
alert(num('1455000'));
Что сообщает о результатах, которые вы ищете.
EDIT
Исходя из вашего комментария, похоже, что вы хотите запустить это на число 1455000, а не на строку '1455000'. Если это так, добавление вызова toString
до split()
будет работать (и будет работать как для строк **, так и для чисел).
Вот обновленная скрипка