Sidebar

 

Virtuemart Extensions by RuposTel.com

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Remove special characters from input field

This is a small script I wrote for a customer of mine and I would like to share it with y'all. It changes UTF-8 charcters such as č, ľ, ť to their counter parts like c, l, t

 

Usage:

HTML:


<input type="text" onchange="onchange="javascript:checkme(this);" />

 

Joomla:

$document = &JFactory::getDocument();
$document->addScript('/components/com_smartformer/check.js');
(change to real path)

Javascript file: check.js:

function checkme(el, e)
{
 /*
  var c = e.keyCode? e.keyCode : e.charCode;
  var ev = window.event ? event : e;
  if (ev.altKey || ev.ctrlKey || ev.shiftKey) return true;
 */
  changed = false;
  var allowed = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.,()"+'"°/-0123456789&,';
  el.value = el.value.toUpperCase();
  for (var i = 0; i<el.value.length; i++)
   {
     t = el.value.charAt(i);
 

     if (allowed.indexOf(t)<0)
      {
    
        rep = changeChar(t);
        if (allowed.indexOf(rep)<0) rep = '';
        el.value = el.value.split(t).join(rep);
        changed = true;
        
      }
   }
  if (changed) alert('Nepovolené znaky boli zmenené alebo vymazané! Skontrolujte správnosť údajov: '+"\n"+el.value);
  return true;
}

function changeChar(c)
{
 var def = "Á|A,Â|A,Å|A,Ă|A,Ä|A,À|A,Ć|C,Ç|C,Č|C,Ď|D,É|E,È|E,Ë|E,Ě|E,Ì|I,Í|I,Î|I,Ï|I,Ĺ|L,Ľ|L,Ń|N,Ň|N,Ñ|N,Ò|O,Ó|O,Ô|O,Õ|O,Ö|O,Ŕ|R,Ř|R,Š|S,Ś|O,Ť|T,Ů|U,Ú|U,Ű|U,Ü|U,Ý|Y,Ž|Z,Ź|Z,á|a,â|a,å|a,ä|a,à|a,ć|c,ç|c,č|c,ď|d,đ|d,é|e,ę|e,ë|e,ě|e,è|e,ì|i,í|i,î|i,ï|i,ĺ|l,ń|n,ň|n,ñ|n,ò|o,ó|o,ô|o,ő|o,ö|o,š|s,ś|s,ř|r,ŕ|r,ť|t,ů|u,ú|u,ű|u,ü|u,ý|y,ž|z,ź|z,˙|-,ß|ss,Ą|A,µ|u,Ą|A,µ|u,ą|a,Ą|A,ę|e,Ę|E,ś|s,Ś|S,ż|z,Ż|Z,ź|z,Ź|Z,ć|c,Ć|C,ł|l,Ł|L,ó|o,Ó|O,ń|n,Ń|N,А|A,а|a,Б|B,б|b,В|V,в|v,Г|G,г|g,Д|D,д|d,Е|E,е|e,Ж|Zh,ж|zh,З|Z,з|z,И|I,и|i,Й|Y,й|y,К|K,к|k,Л|L,л|l,М|M,м|m,Н|N,н|n,О|O,о|o,П|P,п|p,Р|R,р|r,С|S,с|s,Т|T,т|t,У|U,у|u,Ф|F,ф|f,Х|Ch,х|ch,Ц|Ts,ц|ts,Ч|Ch,ч|ch,Ш|Sh,ш|sh,Щ|Sch,щ|sch,Ы|I,ы|i,Э|E,э|e,Ю|U,ю|iu,Я|Ya,я|ya,Ъ| ,ъ| ,Ь| ,ь| ,ľ|l";
 pos = def.indexOf(c);
 if (pos>=0)
  {
    if (pos < (def.length - 2))
    if (def.charAt(pos+1)=='|') return def.charAt(pos+2);
  }
  return c;
}

You are here