ผู้ใช้:Bact/Scripts/test/monobook.js
จากวิกิพีเดีย สารานุกรมเสรี
< ผู้ใช้:Bact | Scripts | test
หมายเหตุ: หลังจากบันทึกแล้ว, คุณต้องล้างแคชของเบราว์เซอร์เสียก่อน จึงจะเห็นการเปลี่ยนแปลง: Mozilla/Safari/Konqueror: กด Shift ค้าง แล้วกด Reload (หรือ Ctrl-Shift-R), IE: กด Ctrl-F5, Opera: กด F5
/* <pre><nowiki> */ // [test/experimental] override WhatIsThaiYear() in [[User:Jutiphan/Scripts/editor/monobook.js]] // === การแปลงศักราช === // * พุทธศักราช → คริสต์ศักราช // ** พ.ศ. 2484 เป็นต้นไป → ค.ศ. = พ.ศ. - 543 // ** ไม่เกิน พ.ศ. 2483 (พ.ศ. 2483 ไม่มีเดือน มกราคม ถึง มีนาคม) // *** เมษายน ถึง ธันวาคม → ค.ศ. = พ.ศ. - 543 // *** มกราคม ถึง มีนาคม → ค.ศ. = พ.ศ. - 542 // * คริสต์ศักราช → พุทธศักราช // ** ค.ศ. 1941 เป็นต้นไป → พ.ศ. = ค.ศ. + 543 // ** ไม่เกิน ค.ศ. 1940 // *** มกราคม ถึง มีนาคม → พ.ศ. = ค.ศ. + 542 // *** เมษายน ถึง ธันวาคม → พ.ศ. = ค.ศ. + 543 // สำหรับการแปลงศักราชที่ไม่ทราบเดือน ให้บวกหรือลบด้วย 543 เป็นศักราชนั้นโดยประมาณ // // อ้างอิง [[พุทธศักราช#พุทธศักราชและคริสต์ศักราช]], [[พูดคุย:วิกิพีเดีย:โครงการวันและปีอ้างอิง]] // // ========== สอบถาม พ.ศ. ========== function WhatIsThaiYear() { var what = getSelText(); var shortName = false; var askMode = false; var answer = ""; var yr; var txtArea = document.editform.wpTextbox1; if (what == null || what.length == 0) { what = getSelTextArea(); } if (what != null && what.length > 0) { what = what.replace(/ค\.ศ\. ?(\d{1,4})/g, "$1 AD"); /*if (what.search(/\[\[\d{1,4}\]\]/) != -1) { shortName = true; what = what.replace(/\[|\]/g, ""); }*/ } if (what == null || what.length == 0) { what = prompt("ระบุปีค.ศ.:"); askMode = true; } if (what == null || what.length == 0) { return; } if (askMode) { if (isNaN(what)) { return; } yr = parseInt(what); if (yr <= 1940) { alert("(คริสตศักราช และ พุทธศักราช ใน ค.ศ. ที่ระบุ เหลื่อมกันอยู่)\n\n" + 'มกราคม - มีนาคม ค.ศ. ' + what + ' อยู่ใน พ.ศ. ' + (yr+542) + "\n" + 'เมษายน - ธันวาคม ค.ศ. ' + what + ' อยู่ใน พ.ศ. ' + (yr+543)); } else if (yr > 1940) { alert("ค.ศ. " + what + " เท่ากับ พ.ศ. " + (yr+543)); } return; } what = what.replace(/(January|February|March|April|May|June|July|August|September|October|November|December) (\d{1,2})/, "$2 $1"); what = what.replace(/January/ig, "มกราคม"); what = what.replace(/February/ig, "กุมภาพันธ์"); what = what.replace(/March/ig, "มีนาคม"); what = what.replace(/April/ig, "เมษายน"); what = what.replace(/May/ig, "เมษายน"); what = what.replace(/June/ig, "มิถุนายน"); what = what.replace(/July/ig, "กรกฎาคม"); what = what.replace(/August/ig, "สิงหาคม"); what = what.replace(/September/ig, "กันยายน"); what = what.replace(/October/ig, "ตุลาคม"); what = what.replace(/November/ig, "พฤศจิกายน"); what = what.replace(/December/ig, "ธันวาคม"); //Fix short BC, prevent conflict with just numbers what = what.replace(/BC\|\d{1,4}/ig,"BC!"); var results = what.match(/(\d{3,4})(?! (BC|AD))/ig); if(results) { for (var i = 0; i < results.length; i++) { yr = parseInt(results[i]) + 543; re = new RegExp(results[i] + "(?! (BC|AD))", "ig"); what = what.replace(re, "พ.ศ. " + yr); } } //!BC case handling (for short name) results = what.match(/(\d{1,4}) BC!/ig); if(results) { for (var i = 0; i < results.length; i++) { yr = 544 - parseInt(results[i]); re = new RegExp(results[i], "ig"); if(yr <= 0) { yr = (yr-1)*-1; what = what.replace(re, yr + " ปีก่อนพุทธศักราช|" + yr); } else { what = what.replace(re, "พ.ศ. " + yr); } } } //BC case handling results = what.match(/(\d{1,4}) BC/ig); if(results) { for (var i = 0; i < results.length; i++) { yr = 544 - parseInt(results[i]); re = new RegExp(results[i], "ig"); if(yr <= 0) { yr = (yr-1)*-1; what = what.replace(re, yr + " ปีก่อนพุทธศักราช"); } else { what = what.replace(re, "พ.ศ. " + yr); } } } //AC case handling results = what.match(/(\d{1,4}) AD/ig); if(results) { for (var i = 0; i < results.length; i++) { yr = parseInt(results[i]) + 543; re = new RegExp(results[i], "ig"); what = what.replace(re, "พ.ศ. " + yr); } } what = what.replace(/,/g, ""); what = "** " + what + " **"; answer = what; if (document.selection && !is_gecko) { var theSelection = document.selection.createRange().text; theSelection = theSelection.substring(0, theSelection.length - 1); var range = document.selection.createRange(); range.text = answer; range.select(); } else if (txtArea.selectionStart || txtArea.selectionStart == '0') { var startPos = txtArea.selectionStart; var endPos = txtArea.selectionEnd; var scrollTop = txtArea.scrollTop; txtArea.value = txtArea.value.substring(0, startPos) + answer + txtArea.value.substring(endPos, txtArea.value.length); setCaretTo(txtArea, startPos + answer.length); txtArea.scrollTop = scrollTop; } else { alert("การใช้งาน พ.ศ. อะไร มีปัญหาและไม่สามารถดำเนินการเสร็จสิ้นได้ กรุณาแจ้งที่ คุยกับผู้ใช้:Jutiphan"); } } /* </nowiki></pre> */