User:StevenK234/Tools/Jct Replace Tool (Taiwan).js
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
//<nowiki>
/*
//Name: Jct Replace Tool
//Country: 台灣 Taiwan
//Language: 中文 Chinese
//Last Edit: 2018-01-03 12:06 (UTC)
*/
$.ajax('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js', { dataType:'script', cache:true }).then(function() {
$(function() {
var add = mw.util.addPortletLink;
$( add('p-tb', '#', '標誌取代為Jct', 'J-JRE', '公路標誌取代為Jct模板', '', '') ).click(Jct_driver);
});
});
function Jct_replaceS(){
$(document).ready(function() {
strOld=$('#wpTextbox1').val();
strNew=Jct_replace(strOld);
$('#wpTextbox1').val(strNew);
strOld=Jct_edit_summary(strOld);
$('#wpTextbox1').val(strNew);
});
}
function Jct_replace(RE){
var d01 = "\\u005b\\u005b"; //[[
var d02 = "(File\\u003a|Image\\u003a)"; //圖像命名空間
var d03 = 0; //留空以供辨識
var d031 ="TWHW"; //國道
var d032 ="(\TW(\\u005f|\\s)\PHW)"; //省道
var d033 ="(\TW(\\u005f|\\s)\CHW)"; //縣市道
var d04 = "(\\d+|\\d)([a-z]|)"; //公路編號
var d05 = "\\u002e(\svg|\png|\jpg)"; //圖示副檔名
var d06 = "([^\\f\\n\\r\\t\\v\File\Image\\uff0c\\u3002\\u3001\\uff1a\\uff1b\\u2192]+)";
//排除含有File、Image、「,」、「。」、「、」、「:」、「;」、「→」以及空白字元(不含空格)的字串
var d07 = "((\\d+|\\d|\一|\二|\三|\四|\五|\六|\七|\八|\九|\十|\甲|\乙|\丙|\丁|\戊|\己|\庚|\公|\道|\支)(\號|\線|\路|))";
var d071 = "(\\u0028|\\uff08)([^\\f\\n\\r\\t\\v]+)(\\u0029|\\uff09)(\\u005d\\u005d)"; //全稱含括號
var d072 = "([^\\f\\n\\r\\t\\v]+)(\公路|\環線|\支線|\聯絡線|\高)(\\u005d\\u005d)"; //全稱
var d08 = "(\\u005d\\u005d|)"; //]]
var r01 = 0; //留空以供辨識
var r011 = new RegExp(d01+d02+d031+d04+d05+d06+d07+d08, 'gi'); //國道
var r0111 = new RegExp(d01+d02+d031+d04+d05+d06+d071, 'gi'); //國道全稱含括號
var r0112 = new RegExp(d01+d02+d031+d04+d05+d06+d072, 'gi'); //國道全稱
var r012 = new RegExp(d01+d02+d032+d04+d05+d06+d07+d08, 'gi'); //省道
var r0121 = new RegExp(d01+d02+d032+d04+d05+d06+d072, 'gi'); //省道全稱
var r013 = new RegExp(d01+d02+d033+d04+d05+d06+d07+d08, 'gi'); //縣市道
do{RE=RE.replace(r0111,'{{Jct|country=TWN|NH|$2$3}}($7)');}while(RE.indexOf(r0111)!=-1); //國道全稱含括號
do{RE=RE.replace(r0112,'{{Jct|country=TWN|NH-ALL|$2$3}}');}while(RE.indexOf(r0112)!=-1); //國道全稱
do{RE=RE.replace(r0121,'{{Jct|country=TWN|PH-ALL|$4$5}}($9)');}while(RE.indexOf(r0121)!=-1); //省道全稱
do{RE=RE.replace(r011,'{{Jct|country=TWN|NH|$2$3}}');}while(RE.indexOf(r011)!=-1); //國道
do{RE=RE.replace(r012,'{{Jct|country=TWN|PH|$4$5}}');}while(RE.indexOf(r012)!=-1); //省道
do{RE=RE.replace(r013,'{{Jct|country=TWN|CH|$4$5}}');}while(RE.indexOf(r013)!=-1); //縣市道
return RE;
}
function Jct_edit_summary() {
setoptions(minor='true');
setreason(wgULS('將台灣公路圖示替換為{{Jct}} via [[User:StevenK234/Tools/Jct Replace Tool (Taiwan).js|Jct Replace Tool (Taiwan).js]]。', ''), 'append');
doaction('diff');
}
function Jct_driver() {
Jct_replaceS();
}
//</nowiki>