//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ++ //**********Author: Kolawole Balgun ++ //**********Year: 2012 ++ //**********Description: ++ // Validator for most input fields ++ // ++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ var numericChar = '1234567890'; var specialChar = '~`!@#$%^&*()_-+={}[];:\'"|\\?/><,|'; var numberBadChar = '~`!@#$%^&*()_={}[];:\'"|\\?/.><,|'; var alphabetChar = "ABCDEFGHIJKLMNOPQRSTUVWXZYabcdefghijklmnopqrstuvwxyz"; var usernamefield = '~`!@#$%^&*()-+={}[];:\'"|\\?/.><,|'; var mobilenumber = "1234567890+-"; var emailBadChar = " /\"';!%^*()=+}{][?/,<>|\\"; var passBadChar = "\/:*?\"<>|'&%$~`" var err_message = false; function required(value, elementID, errorID, errorMessage, hintMessage, offfocus){ if (value != '' && value.replace(/\s+/g, ' ') != '' && value.replace(/\s+/g, ' ') != hintMessage){ unhighlightField(elementID, errorID); return false; }else{ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } function username(value, elementID, errorID, errorMessage, hintMessage, offfocus){ if(value != "" || value.replace(/\s+/g, ' ') != '' || value.replace(/\s+/g, ' ') != hintMessage){ for(var i = 0; i < usernamefield.length; i++){ if(value.indexOf(usernamefield[i]) > -1){ highlightField(elementID, errorID, errorMessage, offfocus); return usernamefield[i]; } } } unhighlightField(elementID, errorID); return false; } function plainNumber(value, elementID, errorID, errorMessage, hintMessage, offfocus){ if(value != "" || value.replace(/\s+/g, ' ') == ' '){ if(value.length < 6){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } for (var i = 0; i -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } for (var j=0; j -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } } unhighlightField(elementID, errorID); return false; } function plainRawNumber(value, elementID, errorID, errorMessage, hintMessage, offfocus){ if(value != "" || value.replace(/\s+/g, ' ') == ' '){ for (var i=0; i -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true } } for (var j=0; j -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true } } } unhighlightField(elementID, errorID); return false } function plainAlphabet(value, elementID, errorID, errorMessage, hintMessage, offfocus){ if(value != "" || value.replace(/\s+/g, ' ') == ' '){ for(var i = 0; i -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } for(var j = 0; j -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } } return false; } function emailChecks(value, elementID, errorID, errorMessage, hintMessage, offfocus){ if (value != "" || value.replace(/\s+/g, ' ') == ' '){ for (var i = 0; i -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } var atPosition = value.indexOf('@', 2); if (atPosition == -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } if(value.indexOf('@', atPosition+1) > -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } var dotPosition = value.indexOf('.', atPosition+3); if(dotPosition == -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } if(dotPosition+3 > value.length){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } unhighlightField(elementID, errorID); return false; } function passCheck(value, elementID, errorID, errorMessage, hintMessage, offfocus){ if(value.length < 6){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } for (var i=0; i -1){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } unhighlightField(elementID, errorID); return false; } function passCompare(value1, value2, elementID, errorID, errorMessage, hintMessage, offfocus){ if (value1 != value2){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } unhighlightField(elementID, errorID); return false; } function nameField(value){ if(value != "" || value.replace(/\s+/g, ' ') == ' '){ if(value.split(' ').length < 2 ){ return true; }else{ for(var i=0; i < value.split(' ').length; i++){ if(value.split(' ')[i] == ""){ return true; } } } if(plainAlphabet(value)){ return true; } } return false; } function dateField(value, elementID, errorID, errorMessage, hintMessage, offfocus){ if(value != "" || value.replace(/\s+/g, ' ') == ' '){ var dateArr = value.split('-'); if(dateArr.length != 3){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } for(var i = 0; i < dateArr.length; i++){ if(isNaN(parseInt(dateArr[i]))){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } if(dateArr[0].length != 4){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } if(dateArr[1].length > 2 || dateArr[1].length <= 0 || dateArr[1] > 12){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } if(dateArr[2].length <= 2 || dateArr[2].length != 0){ if(parseInt(dateArr[1]) == 9 || parseInt(dateArr[1]) == 4 || parseInt(dateArr[1]) == 6 || parseInt(dateArr[1]) == 11){ if(parseInt(dateArr[2]) > 30){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } if(parseInt(dateArr[1]) == 2){ if(parseInt(dateArr[2]) > 29){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } if(parseInt(dateArr[2]) > 31){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } } unhighlightField(elementID, errorID); return false; } function fileField(value, elementID, errorID, errorMessage, ext, offfocus){ if(value != "" || value.replace(/\s+/g, ' ') == ' '){ if((value.substring(value.lastIndexOf('.') +1, value.length)).toLowerCase() != ext){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } unhighlightField(elementID, errorID); return false; } function mpField(value, elementID, errorID, errorMessage, offfocus){ if(value != "" || value.replace(/\s+/g, ' ') == ' '){ var ext = value.substring(value.lastIndexOf('.') +1, value.length).toLowerCase(); if((ext == 'mp3') || (ext == 'mp4')){ }else{ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } unhighlightField(elementID, errorID); return false; } function ogField(value, elementID, errorID, errorMessage, offfocus){ if(value != "" || value.replace(/\s+/g, ' ') == ' '){ var ext = value.substring(value.lastIndexOf('.') +1, value.length).toLowerCase(); if((ext == 'ogg') || (ext == 'ogv')){ }else{ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } unhighlightField(elementID, errorID); return false; } function intfloatField(value, elementID, errorID, errorMessage, offfocus){ if(isNaN(value)){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } unhighlightField(elementID, errorID); return false; } function valuelength(value, elementID, errorID, errorMessage, min, max, offfocus){ if(value != "" || value.replace(/\s+/g, ' ') == ' '){ if(min){ if(value.replace(/\s+/g, ' ').length < min){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } if(max){ if(value.replace(/\s+/g, ' ').length > max){ highlightField(elementID, errorID, errorMessage, offfocus); return true; } } } unhighlightField(elementID, errorID); return false; } function highlightField(elementID, errorID, errorMessage, offfocus){ var elementDiv = document.getElementById(elementID); var errorDiv = document.getElementById(errorID); if(elementDiv){ if(elementDiv.className.indexOf('form_error') == -1){ elementDiv.className += ' form_error'; } if(offfocus != 1){ elementDiv.focus(); } } if(errorDiv){ errorDiv.innerHTML = errorMessage; } } function unhighlightField(elementID, errorID){ var elementDiv = document.getElementById(elementID); var errorDiv = document.getElementById(errorID); if(elementDiv){ if(elementDiv.className.indexOf('form_error') > -1){ elementDiv.className = elementDiv.className.replace('form_error', ''); } } if(errorDiv){ errorDiv.innerHTML = ''; } }