javascript

Перевод текста из английской раскладки в русскую [javascript]

    
autoKeyboardLang : function(str)
{
    var s = [
        "й","ц","у","к","е","н","г","ш","щ","з","х","ъ",
        "ф","ы","в","а","п","р","о","л","д","ж","э",
        "я","ч","с","м","и","т","ь","б","ю"
    ];

    var r = [
        "q","w","e","r","t","y","u","i","o","p","\\[","\\]",
        "a","s","d","f","g","h","j","k","l",";","'",
        "z","x","c","v","b","n","m",",","\\."
    ];

    for (var i = 0; i < r.length; i++)
    {
        var reg = new RegExp(r[i], 'mig');
        str = str.replace(reg, function (a) {
            return a == a.toLowerCase() ? s[i] : s[i].toUpperCase();
        });
    }

    return str;
}


...

if( ! /^[а-яё ]*$/i.test(s) ){
    $(input).val(autoKeyboardLang(s));
}

....

Склонение сеществительного от числа [js]

var declOfNum = function(number, titles)
{  
    var  cases = [2, 0, 1, 1, 1, 2];  
    return titles[ 
            (number % 100 > 4 && number % 100 < 20) 
            ? 
            2 
            : 
            cases[(number % 10 < 5) ? number % 10 : 5] 
    ];  
} 

//declOfNum(days, ['день', 'дня', 'дней']);
//declOfNum(hours, ['час', 'часа', 'часов']);
//declOfNum(minutes, ['минута', 'минуты', 'минут']);
//declOfNum(seconds, ['секунда', 'секунды', 'секунд']);

Поиск по тексту с выделением [javascript]

Можно использовать в собственно-сделанных селектах для быстрого поиска по ключевым символам или по слову.

var text            = "Москва",
    searchText      = "ск",
    startpos        = text.search( 
         new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')); //magic

    text = text.substr(0, startpos + searchText.length) + '</em>' + text.substr(startpos + searchText.length);
    text = text.substr(0, startpos) + '<em>' + text.substr(startpos);


//результат: Москва = Мо<em>ск</em>ва

jQuery checkbox-ы с checked

Иногда элементарным вещам не уделяешь должного места в своей голове и они плохо запоминаются, вот и с этой выборкой так, постоянно забываю o_O

$("input[name='group_name[]']:checked");
||
$("input").filter(":checkbox:checked");
||
$('input[type="checkbox"]').prop('checked');
||
$("input[type='checkbox'][checked='true']");
||
$("input:checked");

Взято

Использование javascript библиотеки для построения графиков Highcharts

Аналитика цен недвижимости на сайте www.stavropol.orr.ru

Из всего что было попробовано остановился на этой библиотеке и не прогадал. Эту библиотеку не даром даже яндекс использует в web мастере. Разобраться можно довольно быстро, есть масса примеров, api тоже не плохо описано. В общем записываю чтобы не забыть.

Ну и результаты работы с Highcharts
Аналитика стоимости 1м? жилья в Ставрополе

Ссылка на сайт проекта

Отделение десятых, сотых, тысячных от числа символом [javascript]

Функция вставляет (в данном случае точку) после десятой, сотой, и тысячной доли числа.

var __formatSumm = function(sum)
{
    var c = sum.length, s = sum, m = "", i = 0; 
    while(c--){if(i==3){m+='.'+s[c];i=0;}else{m += s[c];}i++;}	
    return m.split("").reverse().join("");
}

1.000
10.000
100.000

1.000.000
10.000.000
100.000.000

1.000.000.000
10.000.000.000
100.000.000.000

UP

Для php

function __formatSumm($s)
{
    $c  = strlen($s); 
    $ar = preg_split('//', $s, -1, PREG_SPLIT_NO_EMPTY);
    $i  = 0; 
    while($c--){if($i == 3){ $m .='.'.$ar[$c]; $i = 0;}else{ $m .= $ar[$c];}$i++;}	
		
    return strrev($m); 
}

randomString() — уникальный, для динамического добавления к элементу DOM

function randomString() {
    return '' + new Date().getTime();
}

function randomString(length) {
    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');

    if (! length) {
        length = Math.floor(Math.random() * chars.length);
    }

    var str = '';
    for (var i = 0; i < length; i++) {
        str += chars[Math.floor(Math.random() * chars.length)];
    }
    return str;
}

Валидность E-mail js [RegExp]

/**
 * @param {string} - Email 
 * @param {string} - (true/false) - определяет строгую 
 * проверку при которой пробелы до и после адреса считаются ошибкой
 * @returns {Boolean} - (true/false)
 */	 
function isValidEmail (email, strict)
{
     if ( !strict ) 
	email = email.replace(/^\s+|\s+$/g, '');
     return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}

найдено