Как сделать, чтоб при вводе в это поле русских символов проходила транслитерация, и пробелы менялись символом "-"?
<input type="text" class="form-control width-500" name="xfield[artist]" id="xf_artist" value="Қайрат Нұртас & Заңғар Нұртас">
var input = document.getElementById('input');
input.addEventListener('input', function() {
this.value = textTransform(this.value);
});
function textTransform(text){
var arrru = [ 'Я','я','Ю','ю','Ч','ч','Ш','ш','Щ','щ','Ж','ж','А','а','Б','б','В','в','Г','г','Д','д','Е','е','Ё','ё','З','з','И','и','Й','й','К','к','Л','л','М','м','Н','н', 'О','о','П','п','Р','р','С','с','Т','т','У','у','Ф','ф','Х','х','Ц','ц','Ы','ы','Ь','ь','Ъ','ъ','Э','э', ' ' ];
var arren = [ 'Ya','ya','Yu','yu','Ch','ch','Sh','sh','Sh','sh','Zh','zh','A','a','B','b','V','v','G','g','D','d','E','e','E','e','Z','z','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','C','c','Y','y','`','`','\'','\'','E', 'e', '-' ];
for(var i=0; i<arrru.length; i++){
var reg = new RegExp(arrru[i], "g");
text = text.replace(reg, arren[i]);
}
return text;
}
<input type="text" id="input">
У меня вот такой код валялся:
var input = document.getElementById('input');
input.addEventListener('input', function() {
this.value = textTransform(this.value);
});
var tr = {"а":"a","б":"b","в":"v","ґ":"g","г":"g","д":"d","е":"e","ё":"e","є":"ye","ж":"zh","з":"z","и":"i","і":"i","ї":"yi","й":"i","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","x":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh'","ъ":"","ы":"i","ь":"","э":"e","ю":"yu","я":"ya"};
var spaceReplacement = '-';
function textTransform(str){
if (str === null || str === undefined || str === "") {
return "";
}
var new_str = "";
for (var i = 0; i < str.length; i++) {
var strLowerCase = str[i].toLowerCase();
if (strLowerCase === " ") {
new_str += spaceReplacement;
continue;
}
if (!tr[strLowerCase]) {
new_str += strLowerCase;
} else {
new_str += tr[strLowerCase];
}
}
return new_str;
}
<input type="text" id="input">
все довольно просто:
$( "#xf_artist" ).change(function() {
var valchng = $(this).val();
$(this).val(valchng.replace(" ", "-"));
});
можно сократить и уместить все в одной строке внутри функции, специально оставил так для наглядности.
upd: спасибо Игорь, описался с this, поправил.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Здравствуйте уважаемые знатоки, вопрос такой: Мне на сайте WP в sidebar нужно вывести 2 виджета, для этого я использую разные файлы JS в которых...
В первый раз все считывается нормальноВо второй уже программа закрывается
Я занимаюсь разработкой игрового сервераЧерез TCPListener я принимаю клиентов
Имеет ли Visual Studio средства с помощью которых можно было бы выполнить сортировку методов в коде? Например, по алфавиту, по доступу и т п?