Задать вопрос
  • Как правильнее сделать перевод русский букв в латиницу?

    Обычно используется такой функционал для транслитерации названия страниц - вот пример. Причем здесь мыло мне не совсем понятно....

    $('#input').keyup(function() {
        $('#slug').val(generate_url($(this).val()));
     });
    
    function generate_url(str)
    {
    	var url = str.replace(/[\s]+/gi, '-');
    	url = translit(url);
    	url = url.replace(/[^0-9a-z_\-]+/gi, '').toLowerCase();	
    	return url;
    }
    
    function translit(str)
    {
    	var ru=("А-а-Б-б-В-в-Ґ-ґ-Г-г-Д-д-Е-е-Ё-ё-Є-є-Ж-ж-З-з-И-и-І-і-Ї-ї-Й-й-К-к-Л-л-М-м-Н-н-О-о-П-п-Р-р-С-с-Т-т-У-у-Ф-ф-Х-х-Ц-ц-Ч-ч-Ш-ш-Щ-щ-Ъ-ъ-Ы-ы-Ь-ь-Э-э-Ю-ю-Я-я").split("-")   
    	var en=("A-a-B-b-V-v-G-g-G-g-D-d-E-e-E-e-E-e-ZH-zh-Z-z-I-i-I-i-I-i-J-j-K-k-L-l-M-m-N-n-O-o-P-p-R-r-S-s-T-t-U-u-F-f-H-h-TS-ts-CH-ch-SH-sh-SCH-sch-'-'-Y-y-'-'-E-e-YU-yu-YA-ya").split("-")   
     	var res = '';
    	for(var i=0, l=str.length; i<l; i++)
    	{ 
    		var s = str.charAt(i), n = ru.indexOf(s); 
    		if(n >= 0) { res += en[n]; } 
    		else { res += s; } 
        } 
        return res;  
    }
    Ответ написан
    Комментировать