Jump to content

User:Symplectic Map/script.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Symplectic Map (talk | contribs) at 18:39, 13 May 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
function common_misspellings(str) {
 var m;
 var r;
 var s = new RegExp("", "gm");
 var sgim = new RegExp("", "gim");

 for(var i in SM_pairs_A) {
  m = SM_pairs_A[i].match(/^(.*)\/(.*)$/)
  sgim.compile("([^\w\/\.])" + m[1] + "([^\w\/])","gim");
  // case insensitive check
  if( str.search(sgim) >= 0 ) {
   // lowercase
   s.compile("([^\w\/\.])" + SM_lower(m[1]) + "([^\w\/])","gm");
   r = SM_lower(m[2].replace(/\$1/g, '$2'));
   if( r.search( /\$2/g ) >= 0 ) {
    r = "$1" + r + "$3";
   } else {
    r = "$1" + r + "$2";
   }
   str = str.replace(s, r);
   // uppercase
   s.compile("([^\w\/\.])" + SM_upper(m[1]) + "([^\w\/])","gm");
   r = SM_upper(r);
   str = str.replace(s, r);
  }
 }
 return str;
}

// lowercase first letter
function SM_lower(str) {
 if (str != "") {
  var x = str.search( /[a-z]/gi );
  if( x >= 0 ) {
   var let = str[x];
   str = str.replace(let, let.toLowerCase());
  }
 }
 return str;
}

// uppercase first letter
function SM_upper(str) {
 if (str != "") {
  var x = str.search( /[a-z]/gi );
  if( x >= 0 ) {
   var let = str[x];
   str = str.replace(let, let.toUpperCase());
  }
 }
 return str;
}