Skip to content

Instantly share code, notes, and snippets.

@gladiatorAsh
Created June 18, 2015 10:59
Show Gist options
  • Save gladiatorAsh/12c2e1cb74e72658c374 to your computer and use it in GitHub Desktop.
Save gladiatorAsh/12c2e1cb74e72658c374 to your computer and use it in GitHub Desktop.
Utility
var Utility = {
validate: function (str, option, varOpts) {
if (str == null) {
return false;
}
if (typeof (str) === "object") {
return false;
}
var settings = $.extend({
regex: /^[a-zA-Z]+$/
}, varOpts);
if (option == "regex") {
var re = settings.regex;
//console.log(re);
return re.test(str);
}
if (option == "website") {
var re = /((?:https?\:\/\/|www\.)(?:[-a-z0-9]+\.)*[-a-z0-9]+.*)/i
return re.test(str);
}
if (option === "isDecimal") {
if (isNaN(str)) {
return false;
}
if (str % 1 != 0) {
return true;
}
else {
return false;
}
}
if (option === "isDecimalNonMendatory") {
if (str.trim() != "") {
if (isNaN(str)) {
return false;
}
if (str % 1 != 0) {
return true;
}
else {
return false;
}
}
else {
return true; //Non mendatory
}
}
if (option === "isString") {
return isNaN(str);
}
if (option === "isNumber") {
return !isNaN(str);
}
if (option === "greaterThanZero") {
if (str.trim() == "") {
return false;
}
if (isNaN(str)) {
return false;
}
if ((str * 1) > 0) {
return true;
}
return false;
}
if (option === "isYear") {
if (str.trim() == "") {
return false;
}
if (isNaN(str)) {
return false;
}
if (str > 1900 && str < 2500) {
return true;
}
return false;
}
if (option === "isEmail") {
var re = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
return re.test(str);
}
if (option === "isDate") {
var re = /^\d{1,2}[\/-]\d{1,2}[\/-]\d{4}$/;
return re.test(str);
}
if (option === "NoSpecialCharacters") {
var re = /^[a-zA-Z0-9.]+$/;
return re.test(str);
}
if (option === "License") {
var re = /^[a-zA-Z0-9/\\]+$/;
return re.test(str);
}
if (option === "isURL") {
var re = /^(https:)?(http:)?[//a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$/;
return re.test(str);
}
if (option === "AlphabetsOnly") {
var re = /^[a-zA-Z ]+$/;
return re.test(str);
}
if (option === "AlphabetsSpecialOnly") {
var re = /^[a-zA-Z /\:]+$/;
return re.test(str);
}
//new added option for validation
if (option === "CharacterOnly") {
var re = /^[a-zA-Z0-9 .&,]+$/;
return re.test(str);
}
if (option === "Pincode") {
var re = /^[0-9]{6}$/i;
return re.test(str);
}
if (option === "NumberOnly") {
var re = /^([0-9])/i;
return re.test(str);
}
if (option === "Gut") {
var re = /^([A-Za-z0-9-\/])/i;
return re.test(str);
}
if (option === "MobileNumber") {
var re = /^([0-9]{10})/i;
return re.test(str);
}
if (option === "Mobile") {
var re = /^[1-9]{1}[0-9]{9}$/;
return re.test(str);
}
if (option === "LandLineNumber") {
var re = /^[-]?[0-9]+[\.]?[0-9]+$/;
return re.test(str);
}
if (option === "LandLine") {
var re = /^[0-9]\d{2,4}-\d{6,8}$/;
return re.test(str);
}
if (option === "PanCard") {
var re = /^[A-Za-z]{5}\d{4}[A-Za-z]{1}$/;
return re.test(str);
}
if (option === "FaxNumber") {
var re = /^([+0-9]{1,3}?([0-9]))/i;
return re.test(str);
}
if (option === "Password") {
var re = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]/;
return re.test(str);
}
}
};
$.extend(Utility);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment