User:Ohconfucius/script/tometricunits.js: Difference between revisions

Content deleted Content added
properly splitting longhand from shorthand
blanking
Tag: Blanking
 
(16 intermediate revisions by the same user not shown)
Line 1:
// <nowiki>
 
function Ohc_CONVERT_TOMETRICUNITS(){
//imperial conversion fixes
////velocity
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(mph|miles per hour)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|mph|km\/h}}$4');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(mph|miles per hour)(\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|mph|km\/h}}$4');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(ft\/s|f[eo]{2}t per second)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|ft\/s|m\/s}}$4');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(ft\/s|f[eo]{2}t per second)(\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|ft\/s|m\/s}}$4');
 
////ranges
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:pounds|lbs?\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)(?:pounds|lbs?)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|$3|$4$5|lb|kg}}$6');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:pounds|lbs?\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)(?:pounds|lbs?)(\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|$3|$4$5|lb|kg}}$6');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:pounds|lbs?\.?)|)\s?([–—])\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)(?:pounds|lbs?\.?)/gi, '{{convert|$1$2|to|$4$5|lb|kg}}');
 
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:inches?|in\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)(?:inches?|in)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|$3|$4$5|in|cm}}$6');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:inches?|in\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)(?:inches?|in)(\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|$3|$4$5|in|cm}}$6');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:inches?|in\.?)|)\s?([–—])\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)(?:inches?|in\.?)/g, '{{convert|$1$2|$3|$4$5|in|cm}}$6');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:feet|ft\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)(?:feet|ft)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|$3|$4$5|ft|m}}$6');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:feet|ft\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)(?:feet|ft)(\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|$3|$4$5|ft|m}}$6');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:yards|yds?\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)(?:yards|yds?)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|$3|$4$5|yd|m}}$6');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:yards|yds?\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)(?:yards|yds?)(\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|$3|$4$5|yd|m}}$6');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:miles)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)mi(?:les|)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|$3|$4$5|mi|km}}$6');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,2}|))(?:(?:&nbsp;|\s|)(?:miles)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d{1,2}|))(?:&nbsp;|\s|)miles(\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|$3|$4$5|mi|km}}$6');
 
////multiple units
regex(/(?<![,\d\(\[])(\d+)(?:&nbsp;|\s|)(feet|ft\.?),?(?:&nbsp;|\s|)([01]?\d)(?:&nbsp;|\s|)in(?:ches|ch|)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1|ft|$3|in}}$4');
regex(/(?<![,\d\(\[])(\d+)(?:&nbsp;|\s|)(feet|ft\.?),?(?:&nbsp;|\s|)([01]?\d)(?:&nbsp;|\s|)in(?:ches|ch|)(\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1|ft|$3|in}}$4');
regex(/(?<![,\d\(\[])(\d+)(?:&nbsp;|\s|)(pounds?|lbs?\.?),?(?:&nbsp;|\s|)([01]?\d)(?:&nbsp;|\s|)(?:oz|ounces?)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1|lb|$3|oz}}$5');
regex(/(?<![,\d\(\[])(\d+)(?:&nbsp;|\s|)(pounds?|lbs?\.?),?(?:&nbsp;|\s|)([01]?\d)(?:&nbsp;|\s|)(?:oz|ounces?)(\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1|lb|$3|oz}}$5');
 
 
////simple
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(?:pounds|lbs?)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|lb|kg}}$3');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(?:pounds|lbs?)(\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|lb|kg}}$3');
 
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)in(?:ches|ch|)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|in|cm}}$3');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(?:feet|ft)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|ft|m}}$3');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(?:yards?|yds?)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|yd|m}}$3');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)mi(?:les|)\.?([\.,;]?\s+[a-z])/g, '{{convert|$1$2|$3|km}}$3');
 
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)inches/gi, '{{convert|$1$2|in|cm}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)feet/gi, '{{convert|$1$2|ft|m}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)yards/gi, '{{convert|$1$2|yd|m}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)miles/gi, '{{convert|$1$2|$3|km}}');
 
////adjectival
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))-(in)ch(&nbsp;|\s)(?!\()/gi, '{{convert|$1$2|in|cm|adj=on}}$4');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))-(foot|ft)(&nbsp;|\s)(?!\()/gi, '{{convert|$1$2|ft|m|adj=on}}$4');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))-(yard|yd)(&nbsp;|\s)(?!\()/gi, '{{convert|$1$2|yd|m|adj=on}}$4');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))-(mi)le(&nbsp;|\s)(?!\()/gi, '{{convert|$1$2|mi|km|adj=on}}$4');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))-(pound|lb)(&nbsp;|\s)(?!\()/gi, '{{convert|$1$2|lb|kg|adj=on}}$4');
 
////area (shorthand)
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(sq\. ft\.|sq ?ft)(&nbsp;|\s)(?!\()/gi, '{{convert|$1$2|sqft|m2}}$4');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(sq\. yd\.|sq ?yd)(&nbsp;|\s)(?!\()/gi, '{{convert|$1$2|sqyd|m2}}$4');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)(sq mi)(&nbsp;|\s)(?!\()/gi, '{{convert|$1$2|sqmi|km2}}$4');
//area longhand
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)square feet/gi, '{{convert|$1$2|sqft|m2}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)square yards?/gi, '{{convert|$1$2|sqyd|m2}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)square miles?/gi, '{{convert|$1$2|sqmi|km2}}');
regex(/(?<![,\d\(\[])(\d+),?(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)acres?/gi, '{{convert|$1$2|$3|km2}}');
 
regex(/(?<![,\d\(\[])(\d+(?:\.\d{1,3}|))(?:&nbsp;|\s|)acres?/gi, '{{convert|$1$2|$3acre|ha}}');
 
 
 
}
function Ohc_CONVERT_TOMETRICUNITS_driver(){
//Add a tag to the summary box
Ohc_CONVERT_TOMETRICUNITS();
setreason('Applying Convert templqte to non-metric units', 'appendonce');
}
$.when(mw.loader.using('mediawiki.util'), $.ready).done(function () {
if(document.forms.editform) {
mw.util.addPortletLink('p-tb', 'javascript:Ohc_CONVERT_TOMETRICUNITS_driver()', 'CONVERT to metric', 'convert', 'convert', '', '');
 
}
});
// </nowiki>