function CheckPattern(checkWhat, str) 
{
   var rePattern=''; // Assign RE pattern to this variable
   switch (checkWhat){
      case "isEmail":
         rePattern=/^([\w\d\-\.]+)@{1}(([\w\d\-]{1,67})|([\w\d\-]+\.[\w\d\-]{1,67}))\.(([a-zA-Z\d]{2,4})(\.[a-zA-Z\d]{2})?)$/;
         break;
      case "isIP":
         rePattern=/^(((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[0-9])\.){3,3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[0-9]))$/;
         break;
      case "isFloat":
         rePattern=/^[-+]?\d*\.?\d*$/;
         break;
      case "isInteger":
         rePattern=/^[+-]?\d+$/;
         break;
      case "isUSPhone":
         rePattern=/^((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}$/;
         rePattern=/^[+-]?\d+$/;
         break;
      case "isUSCurrency":
         rePattern=/^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$/;
         break;
      case "isDate":
         rePattern=/^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/;
         break;
      case "isCreditCard":
         rePattern=/^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$/;
         break;
      case "isSSN":
         rePattern=/^\d{3}-\d{2}-\d{4}$/;
         break;
      case "isZipCode":
         rePattern=/^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$/;
         break;
      default:
         return("That pattern check is not available");
         break;
   }
   return rePattern.test(str);
}

