function isDate(strDate) { // DD/MM/YYYY var date_Pattern_Leap = /^(((((([0-2][1-9])|([1-3][0-1]))\/(([0][1,3,5,7,8])|([1][0,2])))|((([0-2][1-9])|([1-3][0]))\/(([0][4,6,9])|([1][1])))|((([0-2][1-9])|([1,2][0]))\/(([0][2]))))\/(([1-9][0-9][0-9][0-9])|(([0-9][1-9])|([1-9][0]))))|((((([0-2][1-9])|([1-3][0-1]))(([0][1,3,5,7,8])|([1][0,2])))|((([0-2][1-9])|([1-3][0]))(([0][4,6,9])|([1][1])))|((([0-2][1-9])|([1,2][0]))(([0][2]))))(([1-9][0-9][0-9][0-9])|(([0-0][1-9])|([1-9][0])))))$/i; var date_Pattern_nonLeap = /^((((((([0-2][1-9])|([1-3][0-1]))\/(([0][1,3,5,7,8])|([1][0,2])))|((([0-2][1-9])|([1-3][0]))\/(([0][4,6,9])|([1][1])))|(((([0-1][1-9])|([2][0-8]))|([1,2][0]))\/(([0][2]))))\/(([1-9][0-9][0-9][0-9])|(([0-9][1-9])|([1-9][0])))))|((((([0-2][1-9])|([1-3][0-1]))(([0][1,3,5,7,8])|([1][0,2])))|((([0-2][1-9])|([1-3][0]))(([0][4,6,9])|([1][1])))|(((([0-1][1-9])|([2][1-8]))|([1,2][0]))(([0][2]))))(([1-9][0-9][0-9][0-9])|(([0-9][1-9])|([1-9][0])))))$/i; var date_Pattern = date_Pattern_nonLeap; var str = new String(strDate); var current_date = new Date(); var str2 = new String(current_date.getFullYear()); var strYear = ''; var datePart; if (str.length == 10) { var dateSep = /(\/)/; datepart = str.split('/'); strYear = datepart[2]; } else { return false; } if (eval(strYear % 4) == 0) { date_Pattern = date_Pattern_Leap; } else { date_Pattern = date_Pattern_nonLeap; } if (date_Pattern.test(strDate)) { return true; } else { return false; } } function isNumber(str) { // var str = e.value; for (i = 0; i < str.length; i++) { var c = str.charAt(i); if (!isDigit(c)) { return false; } } return true; } function isDigit(c) { return ((c >= "0") && (c <= "9")); } function isCharacter() { if (event.keyCode >= 33 && event.keyCode <= 126) return true; } function isRealNumber(s) { var i; var seenDecimalPoint = false; var decimalPointDelimiter = '.'; for (i = 0; i < s.length; i++) { // Check that current character is number. var c = s.charAt(i); if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true; else if (!isDigit(c)) return false; } // All characters are numbers. return true; } function isCurrency(strNum, decimal_len, fraction_len, enableNagative) { var currency_Pattern1 = ""; var decimal_len_group = decimal_len / 3; var strNumber = "([1-9][0-9]{0,2})((([,][0-9]{0,3}){0," + eval(decimal_len_group - 1) + "})?)"; var strNumberNoComma = "([1-9][0-9]{0," + eval(decimal_len - 1) + "})?"; var strDecimal = "(([.][0-9]{0," + eval(fraction_len) + "})?)"; var strSign = ""; if (enableNagative == true) { strSign = "([-]{0,1})"; } if (fraction_len > 0) { currency_Pattern1 = "^((" + strSign + ")((" + strNumber + ")|(" + strNumberNoComma + "))|([0]))((" + strDecimal + "))$"; } else { currency_Pattern1 = "^((" + strSign + ")((" + strNumber + ")|(" + strNumberNoComma + "))|([0]))$"; } var currency_Pattern = new RegExp(currency_Pattern1); return currency_Pattern.test(strNum); } function isEmail(emailStr) { if (emailStr.length == 0) { return true; } var emailPat = /^(.+)@(.+)$/; var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; var validChars = "\[^\\s" + specialChars + "\]"; var quotedUser = "(\"[^\"]*\")"; var ipDomainPat = /^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/; var atom = validChars + '+'; var word = "(" + atom + "|" + quotedUser + ")"; var userPat = new RegExp("^" + word + "(\\." + word + ")*$"); var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$"); var matchArray = emailStr.match(emailPat); if (matchArray == null) { return false; } var user = matchArray[1]; var domain = matchArray[2]; if (user.match(userPat) == null) { return false; } var IPArray = domain.match(ipDomainPat); if (IPArray != null) { for (var i = 1; i <= 4; i++) { if (IPArray[i] > 255) { return false; } } return true; } var domainArray = domain.match(domainPat); if (domainArray == null) { return false; } var atomPat = new RegExp(atom, "g"); var domArr = domain.match(atomPat); var len = domArr.length; if ((domArr[domArr.length - 1].length < 2) || (domArr[domArr.length - 1].length > 3)) { return false; } if (len < 2) { return false; } return true; } function isCitizanId(id) { if(isNaN(id)) { return false; } if (id.length != 13) return false; var sum = 0; /* x13, x12, x11, ... */ for (i = 0; i < 12; i++) { sum += parseInt(id.charAt(i)) * (13 - i); } /* complements(12, sum mod 11) */ return id.charAt(12) - '0' == ((11 - (sum % 11)) % 10); } function isValidPassword(password) { var pattern = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,15}$/; return pattern.test(password); } function isValidMSISDN2FA(msisdn) { var pattern = /^0(\d{9})$/; return pattern.test(msisdn); }