﻿
//Regex validation
var testRegex = function(v, exp) {
    var regex = new RegExp(exp);
    if (!regex.test(v)) {
        return false;
    }
    return true;
}

//generic check value method
var valueCheck = function(elmId, correctValue) {
    if ($("#" + elmId).val() == correctValue) {
        return true;
    }
    return false;
}

//zip validation
var isZip = function(s) {
    return testRegex(s, new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/));
}

//checks if value is integer
var isInt = function(n) {
    return testRegex(n, new RegExp(/^-?\d+$/));
}

//Name validation
var isName = function(s) {
    return testRegex(s, new RegExp(/(^[a-zA-Z'-'\s]{1,40}$)/));
}

//Phone validation
var isPhone = function(s) {
    return testRegex(s, new RegExp(/(^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$)/));
}

//Email validation
var isEmail = function(s) {
    return testRegex(s, new RegExp(/(^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$)/));
}

//URL validation
var isURL = function(s) {
    return testRegex(s, new RegExp(/(^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&amp;%\$#_]*)?$)/));
}

//NonNegativeInt validation
var isNonNegativeInt = function(n) {
    return testRegex(n, new RegExp(/(^\d+$)/));
}

//NonNegativeCurrency validation
var isNonNegativeCurrency = function(n) {
    return testRegex(n, new RegExp(/(^\d+(\.\d\d)?$)/));
}

//Currency validation
var isCurrency = function(n) {
    return testRegex(n, new RegExp(/(^(-)?\d+(\.\d\d)?$)/));
}

//Social Security Num validation
var isSSNum = function(s) {
    return testRegex(s, new RegExp(/(^\d{3}-\d{2}-\d{4}$)/));
}



