มีเดียวิกิ:Thai-sortkey.js
หมายเหตุ: หลังเผยแพร่ คุณอาจต้องล้างแคชเว็บเบราว์เซอร์ของคุณเพื่อดูการเปลี่ยนแปลง
- ไฟร์ฟอกซ์ / ซาฟารี: กด Shift ค้างขณะคลิก Reload หรือกด Ctrl-F5 หรือ Ctrl-R (⌘-R บนแมค)
- กูเกิล โครม: กด Ctrl-Shift-R (⌘-Shift-R บนแมค)
- ไมโครซอฟท์ เอดจ์: กด Ctrl ค้างขณะคลิก Refresh หรือกด Ctrl-F5
// This is javascript version of [[มอดูล:Thai-sortkey]]
var u = String.fromCharCode;
var minorMarkSet = "([" + u(0xE47) + "-" + u(0xE4E) + u(0x302) + u(0x304) + u(0x331) + "])";
var minorMarkSetRegex = RegExp(minorMarkSet, "g");
var minorMarks = {
[u(0xE47)]: "0", [u(0xE48)]: "1", [u(0xE49)]: "2", [u(0xE4A)]: "3", [u(0xE4B)]: "4",
[u(0xE4C)]: "5", [u(0xE4D)]: "6", [u(0xE4E)]: "7", [u(0x302)]: "8", [u(0x304)]: "9", [u(0x331)]: "A"
};
function ThaiMakeSortKey(text) {
var minorKeyArr = [];
while (match = minorMarkSetRegex.exec(text)) {
minorKeyArr.push(minorMarks[match[1]]);
}
text = text.replace(minorMarkSetRegex, "");
text = text.replace(/[-\s\.,/ๆ]/g, "");
text = text.replace(/([เแโใไ])(ʼ?[ก-ฮ])/g, "$2$1");
return text + minorKeyArr.join("");
}
function ThaiSort(item1, item2) {
return ThaiMakeSortKey(item1) < ThaiMakeSortKey(item2);
}