下面是一個JS,用於將URL傳遞給俄語轉換爲英語。可以修改其數據以申請法語或任何其他語言。除了字母和數字之外的任何內容都被替換爲「 - 」,雙重和結尾「 - 」被刪除。
function url(word, letterVersionOrder) {
var letters = 'a b v g d e ["zh","j"] z i y k l m n o p r s t u f h c ch sh ["shh","shch"] ~ y ~ e yu ya ~ ["jo","e"]'.split(' ');
var wordSeparator = '';
word = word.toLowerCase();
for (var i = 0; i < word.length; ++i) {
var charCode = word.charCodeAt(i);
var chars = (charCode >= 1072 ? letters[charCode - 1072] : word[i]);
if (chars.length < 3) {
wordSeparator += chars;
} else {
wordSeparator += eval(chars)[letterVersionOrder];
}
}
return(wordSeparator.
replace(/[^a-zA-Z0-9\-]/g, '-').
replace(/[-]{2,}/gim, '-').
replace(/^\-+/g, '').
replace(/\-+$/g, ''));
}
這裏是一個更快的精縮版:從here採納
function url(w, v) { var tr = 'a b v g d e ["zh","j"] z i y k l m n o p r s t u f h c ch sh ["shh","shch"] ~ y ~ e yu ya ~ ["jo","e"]'.split(' '); var ww = ''; w = w.toLowerCase(); for (var i = 0; i < w.length; ++i) { var cc = w.charCodeAt(i); var ch = (cc >= 1072 ? tr[cc - 1072] : w[i]); if (ch.length < 3) {ww += ch;} else {ww += eval(ch)[v];} } return(ww.replace(/[^a-zA-Z0-9\-]/g, '-').replace(/[-]{2,}/gim, '-').replace(/^\-+/g, '').replace(/\-+$/g, ''));}
。
來源
2014-08-25 19:11:46
Zon
出於好奇,這是如何與高響應?通常這是在服務器上完成一次 - 創建記錄時。 – 2010-01-24 17:48:59
嗯,它的意思是用戶仍然可以改變的「建議」名稱。因此,當用戶填寫時,應填寫第二個。 – 2010-01-24 21:55:27