User:Bobblewik/monobook.js/unitformatter.js: Difference between revisions

Content deleted Content added
Bobblewik (talk | contribs)
mNo edit summary
Bobblewik (talk | contribs)
mNo edit summary
Line 6:
var txt = document.editform.wpTextbox1;
 
// Convert degree symbols into ° symbol, ensure preceding space
//No need to explain common units
txt.value = txt.value.replace(/\[\[(metres?)\]\]°/gig, '$1°');
txt.value = txt.value.replace(/\[\[(meters?)\]\]º/gig, '$1°');
 
txt.value = txt.value.replace(/\[\[metres?\|([^\]]{1,30})\]\]/gi, '$1');
// Celsius spelling errors
txt.value = txt.value.replace(/\[\[(mm)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(millimetres?)\]\]celsius/gi, '$1Celsius');
txt.value = txt.value.replace(/\[\[(millimeters?)\]\]celcius/gi, '$1Celsius');
//Fix common naming error (be careful with this one)
txt.value = txt.value.replace(/\[\[millimetres?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[millimeters?\|([^\]]{1,30})\]\]centigrade/gi, '$1Celsius');
 
txt.value = txt.value.replace(/\[\[(cm)\]\]/gi, '$1');
//Celsius
txt.value = txt.value.replace(/\[\[(centimetres?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(centimeters?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[centimetres?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[centimeters?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(km)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(kilometres?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(kilometers?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[kilometres?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[kilometers?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[square kilometres?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(grams?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[grams?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(kg)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(kilograms?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[kilograms?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(celsius)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[celsius\|([^\]]{1,30})\]\]/gi, '$1');
 
//Fahrenheit
txt.value = txt.value.replace(/\[\[miles?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(miles?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(Fahrenheit)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[Fahrenheit\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(inch)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(inches)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[inch\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[inches\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[foot\s\(unit\sof\slength\)\|([^\]]{1,30})\]\]/gi, '$1');
 
//Celsius or Fahrenheit
// Convert degree symbols into ° symbol, ensure preceding space
txt.value = txt.value.replace(/°/g, '°');
txt.value = txt.value.replace(/º/g, '°');
txt.value = txt.value.replace(/°\s([CF])/g, '°$1');
txt.value = txt.value.replace(/°\s?(celsius)/gi, '°C');
Line 56 ⟶ 34:
txt.value = txt.value.replace(/(\d)\s?° ([CF])/g, '$1 °$2');
 
// Celsius spelling errors
txt.value = txt.value.replace(/celsius/gi, 'Celsius');
txt.value = txt.value.replace(/celcius/gi, 'Celsius');
//Fix common naming error (be careful with this one)
txt.value = txt.value.replace(/centigrade/gi, 'Celsius');
 
// Convert &sup to superscript
Line 70 ⟶ 43:
 
//metre: space before 'm' only when lower case
txt.value = txt.value.replace(/º\[\[(metres?)\]\]/ggi, '°$1');
txt.value = txt.value.replace(/celsius\[\[(meters?)\]\]/gi, 'Celsius$1');
txt.value = txt.value.replace(/\[\[metres?\|([^\]]{1,30})\]\]/gi, '$1');
//space before 'm' only when lower case
txt.value = txt.value.replace(/(\d)\s?m(\W)/g, '$1 m$2');
txt.value = txt.value.replace(/(\d)\-m(\W)/g, '$1 m$2');
Line 77 ⟶ 54:
 
// millimetre
txt.value = txt.value.replace(/\[\[(mm)\]\]/gi, '$1');
txt.value = txt.value.replace(/celcius\[\[(millimetres?)\]\]/gi, 'Celsius$1');
txt.value = txt.value.replace(/centigrade\[\[(millimeters?)\]\]/gi, 'Celsius$1');
txt.value = txt.value.replace(/\[\[millimetres?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[millimeters?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/(\d)\s?mm(\W)/g, '$1 mm$2');
txt.value = txt.value.replace(/(\d)\-mm(\W)/g, '$1 mm$2');
 
// centimetre
txt.value = txt.value.replace(/\[\[(cm)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(centimetres?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(centimeters?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[centimetres?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[centimeters?\|([^\]]{1,30})\]\]/gi, '$1');
 
// kilometre
txt.value = txt.value.replace(/\[\[(km)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(kilometres?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(kilometers?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[kilometres?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[kilometers?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/(\d)\s?kms?(\W)/gi, '$1 km$2');
txt.value = txt.value.replace(/(\d)\-kms?(\W)/gi, '$1 km$2');
txt.value = txt.value.replace(/(\d) kms?(\W)/gi, '$1 km$2');
//square kilometre
txt.value = txt.value.replace(/\[\[square kilometres?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/(\d)\s?sq\.?\s?kms?/gi, '$1 km²');
txt.value = txt.value.replace(/sq\.?\s?kms?/gi, 'km²');
Line 120 ⟶ 115:
 
// kilogram
txt.value = txt.value.replace(/°(kilogram)me/ggi, '°$1');
txt.value = txt.value.replace(/\[\[(grams?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[grams?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(kg)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(kilograms?)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[kilograms?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/(\d)\s?kg(\W)/gi, '$1 kg$2');
txt.value = txt.value.replace(/(\d)\-kg(\W)/gi, '$1 kg$2');
Line 139 ⟶ 140:
txt.value = txt.value.replace(/(\d)\s?(Y|Z|E|P|T|G|M|k|K|h|da|d|c|m|µ|μ|µ|n|p|f|a|z|y)?\s?(Ω|ohm|Ohm)s?(\W)/g, '$1 $2Ω$4');
 
// mile and mile per hour
txt.value = txt.value.replace(/\[\[miles?\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(miles?)\]\]/gi, '$1');
txt.value = txt.value.replace(/m\.p\.h\.(\W)/g, 'mph$1');
txt.value = txt.value.replace(/(\W)mph(\W)/gi, '$1mph$2');
Line 150 ⟶ 153:
txt.value = txt.value.replace(/(\d) lbs?/gi, '$1 lb');
txt.value = txt.value.replace(/(\d)\s?(\[\[lbs\]\])/gi, '$1 \[\[Pound (mass)|lb\]\]');
 
//inch
txt.value = txt.value.replace(/\[\[(inch)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[(inches)\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[inch\|([^\]]{1,30})\]\]/gi, '$1');
txt.value = txt.value.replace(/\[\[inches\|([^\]]{1,30})\]\]/gi, '$1');
 
//foot
txt.value = txt.value.replace(/\[\[foot\s\(unit\sof\slength\)\|([^\]]{1,30})\]\]/gi, '$1');
 
// foot and inch