// JavaScript Document
function verify(data, rule){
   rule=rule.split(':');
   var m='';
   var s=(rule[1])?'+':'*'; // restricts empty value
   switch (rule[0]){
    case 'alpha':
          rule='^[А-ЯA-Z]'+s+'$';
          m+='i';
    break;
    case 'name':
      rule='^\\w'+s+'$';
    break;
    case 'name_dot':
      rule='^[\\w.]'+s+'$';
    break;
    case 'name_ru':
          rule='^[А-ЯA-Z0-9_]'+s+'$';
          m+='i';
    break;
    case 'name_spaces':
          rule='^[\\w\\s]'+s+'$';
    break;
    case 'name_ru_spaces':
          rule='^[А-ЯA-Z0-9\\s_]'+s+'$';
          m+='i';
    break;
    case 'address':
      rule='([А-Я])'+s+'';
      m+='i';
    break;
    case 'title':
      rule='^[-!@#$%^&*()_=\+№:? А-ЯA-Z0-9_\"\']'+s+'$';
      m+='i';
    break;
    case 'txt0':
      rule='^[-!@#$%^&*()_=\+№:\?\.\, А-ЯA-Z0-9_\"\'\r\n]'+s+'$';
      m+='i';
    break;
    case 'number':
      rule='^\\d'+s+'$';
    break;
    case 'email':
      if(s=='*' && data=='') return true;
      rule='^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$';
      m+='i';
    break;
    case 'dd/mm/y':
      if(s=='+' && data=='') return false;
      rule='^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[0-9][0-9]$';
      //m+='i';
    break;
  }
  
  var R = new RegExp(rule,m);
//  if (R.test(data)) return true;
  if (data.match(R)) return true;
  return false;
}