Поиск…
Извлечь расширение из имени файла
Быстрый и короткий способ извлечь расширение из имени файла в JavaScript будет:
function get_extension(filename) {
    return filename.slice((filename.lastIndexOf('.') - 1 >>> 0) + 2);
}
 Он корректно работает как с именами, не имеющими расширения (например, myfile ), так и с самого начала . точка (например, .htaccess ): 
get_extension('')                           // ""
get_extension('name')                       // ""
get_extension('name.txt')                   // "txt"
get_extension('.htpasswd')                  // ""
get_extension('name.with.many.dots.myext')  // "myext"
Следующее решение может извлекать расширения файлов из полного пути:
function get_extension(path) {
    var basename = path.split(/[\\/]/).pop(),  // extract file name from full path ...
                                               // (supports `\\` and `/` separators)
        pos = basename.lastIndexOf('.');       // get last position of `.`
    if (basename === '' || pos < 1)            // if file name is empty or ...
        return "";                             //  `.` not found (-1) or comes first (0)
    return basename.slice(pos + 1);            // extract extension ignoring `.`
}
get_extension('/path/to/file.ext');  // "ext"
Формат чисел как деньги
 Быстрый и короткий способ форматирования значения типа Number качестве денег, например 1234567.89 => "1,234,567.89" : 
var num = 1234567.89,
    formatted;
formatted = num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');  // "1,234,567.89"
 Более продвинутый вариант с поддержкой любого количества десятичных знаков [0 .. n] , переменного размера групп чисел [0 .. x] и разных типов разделителей: 
/**
 * Number.prototype.format(n, x, s, c)
 * 
 * @param integer n: length of decimal
 * @param integer x: length of whole part
 * @param mixed   s: sections delimiter
 * @param mixed   c: decimal delimiter
 */
Number.prototype.format = function(n, x, s, c) {
    var re = '\\d(?=(\\d{' + (x || 3) + '})+' + (n > 0 ? '\\D' : '$') + ')',
        num = this.toFixed(Math.max(0, ~~n));
    return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), '$&' + (s || ','));
};
12345678.9.format(2, 3, '.', ',');  // "12.345.678,90"
123456.789.format(4, 4, ' ', ':');  // "12 3456:7890"
12345678.9.format(0, 3, '-');       // "12-345-679"
123456789..format(2);               // "123,456,789.00"
Задайте свойство объекта с его именем строки
function assign(obj, prop, value) {
    if (typeof prop === 'string')
        prop = prop.split('.');
    if (prop.length > 1) {
        var e = prop.shift();
        assign(obj[e] =
                 Object.prototype.toString.call(obj[e]) === '[object Object]'
                 ? obj[e]
                 : {},
               prop,
               value);
    } else
        obj[prop[0]] = value;
}
var obj = {},
    propName = 'foo.bar.foobar';
assign(obj, propName, 'Value');
// obj == {
//   foo : {
//     bar : {
//       foobar : 'Value'
//     }
//   }
// }
Modified text is an extract of the original Stack Overflow Documentation
        Лицензировано согласно CC BY-SA 3.0
        Не связан с Stack Overflow