/** * Created by IntelliJ IDEA. * User: administrator * Date: Dec 23, 2003 * Time: 3:43:41 AM * To change this template use Options | File Templates. * * TextValidate1.0.js *---------------------------------------------------------------------------------- * List of function : *------------------------------------------------------------------------------------ *1.TextValidate *2.reformatDate *3.getCurrentDate *4.emptyIsNotNo - empty the field if it do not contain valid numeric *5.acceptNumberOnly - zero value is unacceptable *5b.testNum - check whether the input value is numeric *6.CheckEitherOne -Validate two radio button text box.Only either one can be enable *7.formatCurrencyNZ - zero value is unacceptable *8.getRadioGrpSelectedValue *9.getTagIdValue -return form tag id value *10.emptyTagValue *11.disableTextBox *12.enableTextBox *13.frmReset - reset form value *14.defaultSeletedValue - default the drop down value to first value *15.disableNClearTxtValue */ /* * Perform text field validation. * Pass in variable: form object and Array * Usage : * var vntParam = new Array(); * //new Array( "FieldTagId","FieldDescription","FieldType"); * vntParam[vntParam.length] = new Array( "alertDateTg","Alert Date","DT"); * var strErrMsg = TextValidate(document.forms[getNetuiTagName("frmTagId")],vntParam); * Swicth */ function TextValidate(objForm, Param) { var strErrMsg = ''; var strErrMsgs = ''; var strFieldNm = ''; var strFieldDscp = ''; var strFieldType = ''; var strMaxAmtSize = ''; var validAmt = "0123456789."; for (var intCount=0; intCount< Param.length; intCount++ ) { strErrMsg = ''; strFieldNm = Param[intCount][0]; strFieldDscp = Param[intCount][1]; strFieldType = Param[intCount][2]; var element = getElement(objForm,strFieldNm); if ( strFieldType == "MID" || strFieldType == "NMID") { var elementValue = getElementValue(objForm,strFieldNm); } else if(strFieldType == "MRA") { var elementValue = getRadioElementValue(objForm,strFieldNm); } else { var elementValue = Trim(getElementValue(objForm,strFieldNm)); } switch(strFieldType) { case "M" : // mandatory and only allowed A-Z,a-z,0-9 strDisplayMsg = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if(elementValue == '' && strDisplayMsg == 0) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else if(elementValue == '' && strDisplayMsg == 1) { strErrMsg = strFieldDscp; } else { if(element.type!='select-one') { if (!isValidInput(elementValue, "M")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } } break; case "NM" : // non mandatory and only allowed A-Z,a-z,0-9 strDisplayMsg = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if(elementValue == '' && strDisplayMsg == 1) { strErrMsg = strFieldDscp; } if(element.type!='select-one') { if (!isValidInput(elementValue, "M")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "MS" : //mandatory and Only allowed A-Z,a-z,0-9 and space if(elementValue == '' ) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } if (element.type!='select-one') { if (!isValidInput(elementValue, "MS")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "NMS" : //non -mandatory and Only allowed A-Z,a-z,0-9 and space if (element.type!='select-one') { if (!isValidInput(elementValue, "MS")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "NADM" :// non - mandatory and Only allowed A-Z,a-z,0-9, * and % if (element.type!='select-one') { if (!isValidInput(elementValue, "MADM")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "MADM" :// mandatory and Only allowed A-Z,a-z,0-9, * and % if(elementValue == '' ) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } if (element.type!='select-one') { if (!isValidInput(elementValue, "MADM")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "MVC" : //andatory and only allowed certain special character(' - " & ( ) , . /) if(elementValue == '' ) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } if (element.type!='select-one') { if (!isValidInput(elementValue, "MVC")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "NMVC" : //non mandatory and only allowed certain special character(' - " & ( ) , . /) if (element.type!='select-one') { if (!isValidInput(elementValue, "MVC")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "MSCF" : //mandatory and only allowed file name checking(Invalid \ / : * ? " < > |) if(elementValue == '' ) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } if (element.type!='select-one') { if (!isValidInput(elementValue, "MSCF")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "NMSCF" : //non mandatory and only allowed file name checking(Invalid \ / : * ? " < > |) if (element.type!='select-one') { if (!isValidInput(elementValue, "MSCF")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "MALL" : //mandatory and allow all characters if(elementValue == '' ) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } break; case "MID" : //mandatory and only a-z,A-Z and 0-9 - Not allow Chinese characters strDisplayMsg = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if(elementValue == '' && strDisplayMsg == 0) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else if(elementValue == '' && strDisplayMsg == 1) { strErrMsg = strFieldDscp; } if (element.type!='select-one') { if (!isValidInput(elementValue, "MID")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "MES" : //mandatory and only a-z,A-Z and space - Not allow Chinese characters strDisplayMsg = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if(elementValue == '' && strDisplayMsg == 0) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else if(elementValue == '' && strDisplayMsg == 1) { strErrMsg = strFieldDscp; } if (element.type!='select-one') { if (!isValidInput(elementValue, "MES")) { strErrMsg = getMessage(ONLY_ENG_MSG, strFieldDscp); } } break; case "ES" : //mandatory and only a-z,A-Z and space - Not allow Chinese characters strDisplayMsg = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if (element.type!='select-one') { if (!isValidInput(elementValue, "MES")) { strErrMsg = getMessage(ONLY_ENG_MSG, strFieldDscp); } } break; case "MNCS" : //mandatory and only a-z,A-Z,0-9 and space - Not allow Chinese characters strDisplayMsg = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if(elementValue == '' && strDisplayMsg == 0) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else if(elementValue == '' && strDisplayMsg == 1) { strErrMsg = strFieldDscp; } if (element.type!='select-one') { if (!isValidInput(elementValue, "MNCS")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "NCS" : //only a-z,A-Z,0-9 and space - Not allow Chinese characters strDisplayMsg = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if(elementValue != '' && element.type!='select-one') { if (!isValidInput(elementValue, "MNCS")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "NNCADR" : //non mandatory and non chinese address strDisplayMsg = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if(elementValue == '' && strDisplayMsg == 1) { strErrMsg = strFieldDscp; } if (element.type!='select-one') { if (!isValidInput(elementValue, "MNCADR")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "MNCADR" : //mandatory and non chinese address strDisplayMsg = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if(elementValue == '' && strDisplayMsg == 0) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else if(elementValue == '' && strDisplayMsg == 1) { strErrMsg = strFieldDscp; } if (element.type!='select-one') { if (!isValidInput(elementValue, "MNCADR")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "NCADR" : //non chinese address strDisplayMsg = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if(elementValue != '') { if (element.type!='select-one') { if (!isValidInput(elementValue, "MNCADR")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } } break; case "NMID" : //non mandatory and only a-z,A-Z and 0-9 - Not allow Chinese characters if (element.type!='select-one') { if (!isValidInput(elementValue, "MID")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "MNO" : //mandatory and only allow 0-9 and space if(elementValue == '' ) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } if (element.type!='select-one') { if (!isValidInput(elementValue, "MNO")) { strErrMsg = getMessage(IS_NOT_NUMERIC_MSG, strFieldDscp); } } break; case "MPNO" : //mandatory and only allow positive value 0-9 if(elementValue == '' ) { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } if (element.type!='select-one') { if (!isValidInput(elementValue, "NNO")) { strErrMsg = getMessage(IS_NOT_NUMERIC_MSG, strFieldDscp); } } break; case "NNO" : //non mandatory and only allow 0-9 if (element.type!='select-one') { if (!isValidInput(elementValue, "NNO")) { strErrMsg = getMessage(IS_NOT_NUMERIC_MSG, strFieldDscp); } } break; case "MCB" : // mandatory combo box if(elementValue == '' || elementValue == '-1') { strErrMsg = getMessage(IS_MANDATORY_SELECT_MSG, strFieldDscp); } else { if(element.type=='select-one') { if(elementValue == '-1') strErrMsg = getMessage(IS_MANDATORY_SELECT_MSG, strFieldDscp); } else { if (!isValidInput(elementValue, "MSC")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } } break; case "MRA" : // mandatory radio button if(elementValue == '' || elementValue == '-1') { strErrMsg = getMessage(IS_MANDATORY_SELECT_MSG, strFieldDscp); } break; case "MCS" : // mandatory and allow contain special character if(elementValue=='') { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } break; case "MSC" : //mandatory field && allow contain special character if(elementValue=='') { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else { if(element.type!='select-one') { if (!isValidInput(elementValue, "MSC")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } } break; case "MN" : // mandortory numeric if(elementValue=='') { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else { if (isNaN(elementValue)) strErrMsg = getMessage(IS_NOT_NUMERIC_MSG, strFieldDscp); } break; case "MA" : //mandortory amount - should not contain negative value if(elementValue=='') { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else { for (var i=0;i= Date 2 var date2 = Trim( getElementValue(objForm,Param[intCount][3] )) ? Trim( getElementValue(objForm,Param[intCount][3] )) : 0; if ( date2 != "" && elementValue != "" && Date.parse( reformatDate(date2) ) >= Date.parse( reformatDate(elementValue) ) ) { strErrMsg = getMessage(VALUE1_MUST_NOT_GREATER_THAN_VALUE2_MSG, strFieldDscp); } break; case "DT1GDT2NOTEQUAL" : // Date1 > Date 2 var date2 = Trim( getElementValue(objForm,Param[intCount][3] )) ? Trim( getElementValue(objForm,Param[intCount][3] )) : 0; if ( date2 != "" && elementValue != "" && Date.parse( reformatDate(date2) ) > Date.parse( reformatDate(elementValue) ) ) { strErrMsg = getMessage(VALUE1_MUST_NOT_GREATER_THAN_VALUE2_MSG, strFieldDscp); } break; case "ALERTDT" : // Request reminder alert checking for BP & FT - var transactDate = 0; var option = Param[intCount][4] ? parseFloat(Param[intCount][4]) : 0; if (option != 4) { transactDate = Trim( getElementValue(objForm,Param[intCount][3] )) ? Trim( getElementValue(objForm,Param[intCount][3] )) : 0; } var isValid = true; var alertMsg = ""; // checking for one time post dated // current date + 1 day until transaction date - 1 days( FT - n days > current day) if (transactDate != 0 && option == 0) { var currentDtPlusOneDay = new Date( current_date.getYear(),current_date.getMonth(),current_date.getDate()+1 ); var transacDtMinuesOneDay = new Date( getYear(transactDate),getMonth(transactDate)-1,getDay(transactDate)-1 ); var trxNDays = new Date( getYear(transactDate),getMonth(transactDate)-1,getDay(transactDate)-elementValue); if ( trxNDays < currentDtPlusOneDay ) { alertMsg = getMessage(ALERT_DT_SHOULD_LESS_THAN_TRANSAC_DT_BUT_GREATER_THAN_TODAY_DT, strFieldDscp); isValid = false; } } //Checking for recuring options every n days if (transactDate != 0 && option == 1) { if ( parseFloat(elementValue) > parseFloat(transactDate) || (parseFloat(elementValue) > 1 && parseFloat(elementValue) == parseFloat(transactDate)) || elementValue == "0" ) { if( transactDate.substring(0,1) == '0') //remove zero { transactDate = transactDate.substring(1,transactDate.length); } if (parseFloat(elementValue) > 1 && transactDate == '1') { alertMsg = getMessage(REQUEST_REMINDER_ALERT_SHOULD_1_7_DAYS_BEFORE_TRANS_DT, "2"); isValid = false; } else { alertMsg = getMessage(REQUEST_REMINDER_ALERT_SHOULD_1_7_DAYS_BEFORE_TRANS_DT, transactDate); isValid = false; } } } //Checking for recuring options every n days of the week if (transactDate != 0 && option == 2) { if ( parseFloat(elementValue) > 7 || //parseFloat(elementValue) == 7 || elementValue == "0" ) { alertMsg = getMessage(REQUEST_REMINDER_ALERT_SHOULD_1_7_DAYS_BEFORE_TRANS_DT, "7"); isValid = false; } } //Checking for recuring options every n days of the month if (transactDate != 0 && option == 3) { if ( parseFloat(elementValue) > 7 || //parseFloat(elementValue) == 7 || elementValue == "0" ) { alertMsg = getMessage(REQUEST_REMINDER_ALERT_SHOULD_1_7_DAYS_BEFORE_TRANS_DT, "7"); isValid = false; } } //Checking for recuring options every day if (option == 4) { if ( parseFloat(elementValue) > 1 || elementValue == "0" ) { alertMsg = getMessage(REQUEST_REMINDER_ALERT_SHOULD_1_7_DAYS_BEFORE_TRANS_DT, "2"); isValid = false; } } if ( isValid == false ) { strErrMsg = alertMsg ; } break; case "MPNZ" : // mandatory field and the value must be greater than 0. var strPattern ="."; if (elementValue=='') { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else { for (var z=0;z= strMaxAmtSize) ) { strErrMsg = getMessage(VALUE1_SHOULD_LESS_THAN_VALUE2_MSG, strFieldDscp + "||" + formatNumber( strMaxAmtSize )); } else if( strMinAmtSize != -1 && (parseFloat(elementValue) < strMinAmtSize)) { strErrMsg = getMessage(INVALID_MSG, strFieldDscp); } } break; case "MAMT" : strDecimalPlace = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 2; strMaxAmtSize = Param[intCount][4] ? parseFloat(Param[intCount][4]) : 0; strMinAmtSize = Param[intCount][5] ? parseFloat(Param[intCount][5]) : -1; if (elementValue=='') { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else { if (getElementValue(objForm,strFieldNm).match(/^\d+[.]?\d*$/) == null) { strErrMsg = getMessage(IS_NOT_NUMERIC_MSG, strFieldDscp); break; } /*for (var z=0; z= strMaxAmtSize)) { strErrMsg = getMessage(VALUE1_SHOULD_LESS_THAN_VALUE2_MSG, strFieldDscp + "||" + formatNumber( strMaxAmtSize )); } else if( strMinAmtSize != -1 && (parseFloat(elementValue) < strMinAmtSize)) { strErrMsg = getMessage(INVALID_MSG, strFieldDscp); } amtLen = elementValue.length; // Get the number of numbers after the decimal point in // the string if there is a decimal point present if (elementValue.indexOf(".") != -1) { decPos = (amtLen - 1) - elementValue.indexOf("."); if (decPos > strDecimalPlace) { strErrMsg = getMessage(INVALID_MSG, strFieldDscp); } } } break; case "MAMTNG" : strDecimalPlace = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 2; strMaxAmtSize = Param[intCount][4] ? parseFloat(Param[intCount][4]) : 0; strMinAmtSize = Param[intCount][5] ? parseFloat(Param[intCount][5]) : -1; if (elementValue=='') { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else { if (getElementValue(objForm,strFieldNm).match(/^\d+[.]?\d*$/) == null) { strErrMsg = getMessage(IS_NOT_NUMERIC_MSG, strFieldDscp); break; } /*for (var z=0; z strMaxAmtSize)) { strErrMsg = getMessage(INVALID_MSG, strFieldDscp); } else if( strMinAmtSize != -1 && (parseFloat(elementValue) < strMinAmtSize)) { strErrMsg = getMessage(INVALID_MSG, strFieldDscp); } amtLen = elementValue.length; // Get the number of numbers after the decimal point in // the string if there is a decimal point present if (elementValue.indexOf(".") != -1) { decPos = (amtLen - 1) - elementValue.indexOf("."); if (decPos > strDecimalPlace) { strErrMsg = getMessage(INVALID_MSG, strFieldDscp); } } } break; case "AMTEQZ" : // accept zero. case "MAMTEQZ" : // Mandatory amount and accept zero. strDecimalPlace = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 2; strMaxAmtSize = Param[intCount][4] ? parseFloat(Param[intCount][4]) : 0; strMinAmtSize = Param[intCount][5] ? parseFloat(Param[intCount][5]) : -1; if (strFieldType=="MAMTEQZ" && elementValue=='') { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else { if(elementValue!='') { for (var z=0;z= strMaxAmtSize) ) { strErrMsg = getMessage(VALUE1_SHOULD_LESS_THAN_VALUE2_MSG, strFieldDscp + "||" + formatNumber( strMaxAmtSize )); } else if( strMinAmtSize != -1 && (parseFloat(elementValue) < strMinAmtSize)) { strErrMsg = getMessage(INVALID_MSG, strFieldDscp); } amtLen = elementValue.length; // Get the number of numbers after the decimal point in // the string if there is a decimal point present if (elementValue.indexOf(".") != -1) { decPos = (amtLen - 1) - elementValue.indexOf("."); if (decPos > strDecimalPlace) { strErrMsg = getMessage(INVALID_MSG, strFieldDscp); } } } break; case "MP" : // Compare value 1 with value 2 which value 1 should not greater than value 2 //strMaxAmtSize = Param[intCount][3] ? Math.pow( 10, Param[intCount][3] ) : 0; strMaxAmtSize = Param[intCount][3] ? parseFloat(Param[intCount][3]) : 0; if (elementValue == '') { strErrMsg = getMessage(IS_MANDATORY_MSG, strFieldDscp); } else { if (isNaN(elementValue)) { strErrMsg = getMessage(IS_NOT_NUMERIC_MSG, strFieldDscp); } else { if ( parseFloat(elementValue) < 0) { strErrMsg = getMessage(VALUE_MUST_GREATER_THAN_ZERO_MSG, strFieldDscp); } if ( strMaxAmtSize != 0 && (parseFloat(elementValue) >= strMaxAmtSize) ) { strErrMsg = getMessage(VALUE1_SHOULD_LESS_THAN_VALUE2_MSG, strFieldDscp + "||" + formatNumber( strMaxAmtSize )); } } } break; case "CTV" : // Compare Two Value which value 1 should not greater than value 2 strMaxAmtSize = Trim( getElementValue(objForm,Param[intCount][3] )) ? Trim( getElementValue(objForm,Param[intCount][3] )) : 0; if ( strMaxAmtSize != 0 && elementValue != "" && (parseFloat(elementValue) > strMaxAmtSize) ) { strErrMsg = getMessage(strFieldDscp , strMaxAmtSize) ; } break; case "ASC" : if (element.type!='select-one') { if (!isValidInput(elementValue, "ASC")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } if (!isValidInput(elementValue, "SC")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "N" : if (elementValue != '' && isNaN(elementValue)) strErrMsg = getMessage(IS_NOT_NUMERIC_MSG, strFieldDscp); break; case "P" : if ( elementValue!= '') { if (isNaN(elementValue) ) { strErrMsg = getMessage(IS_NOT_NUMERIC_MSG, strFieldDscp); } else { if(elementValue+0 < 0) { strErrMsg = getMessage(VALUE_MUST_GREATER_THAN_ZERO_MSG, strFieldDscp); } } } break; case "SC" : if (element.type!='select-one') { if (!isValidInput(elementValue, "SC")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "SCMSC" : if (element.type!='select-one') { if (!isValidInput(elementValue, "MSC")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "VC" : if (element.type!='select-one') { if (!isValidInput(elementValue, "MASC")) { strErrMsg = getMessage(CONTAIN_INVALID_CHAR_MSG, strFieldDscp); } } break; case "DT" : // Date should be equal or greater than today date if (elementValue != '' && Date.parse( reformatDate(elementValue) ) < Date.parse(getCurrentDate()) || Date.parse(reformatDate(elementValue) )== Date.parse(getCurrentDate()) ) { strErrMsg = getMessage(DATE_SHOULD_EQUAL_GREATER_THAN_TODAY_MSG, strFieldDscp); } break; case "VHKID" : elementValue = getElementValue(objForm,strFieldNm); if ( elementValue!= '') { var isValid = validateHKID(elementValue); if ( isValid == false ) { strErrMsg = strFieldDscp; } } break; case "IVCHEQR" : // invalid cheq range .compare two value which Stop Cheq To should greater than Stop Chq From var valueTo = Trim( getElementValue(objForm,Param[intCount][3] )) ? Trim( getElementValue(objForm,Param[intCount][3] )) : 0; if(!isValidInput(elementValue, "NNO")) { strErrMsg = strFieldDscp ; } if ( elementValue != "" && valueTo != 0 && parseFloat(valueTo) < parseFloat(elementValue) ) { strErrMsg = strFieldDscp ; } break; case "EMAIL" : // check validity of the email address format. if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(elementValue)){ break; } strErrMsg = getMessage(INVALID_EMAIL_MSG, strFieldDscp); break; case "NEMAIL" : // check validity of the email address format. if (elementValue=="") break; if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(elementValue)){ break; } strErrMsg = getMessage(INVALID_EMAIL_MSG, strFieldDscp); break; case "MSG" : // prompt any message if(elementValue != '') { strErrMsg = strFieldDscp; } break; } //end swicth if (strErrMsg != '') { strErrMsgs = strErrMsgs + strErrMsg + "\n" ; } } return strErrMsgs; } /* *http://www.info.gov.hk/td/pdiballot/checkHKID.html *http://www.phpsky.com/home/tools/hkid/index.php *HKID format = A123456(7), where: * - 'A' must be a letter or space. * - The bracket and the checksum digit inside could be 0-9 or A. * - If check digit = 10, then it will be treated as "A" * - If check digit = 11, then it will be treated as "0" *------------------------------------------------------------------------------------- *Oct 2004 - Additional recources found at http://www.excelhelp.net/cgi-bin/forum/topic.cgi?forum=3&topic=5 *a.The format of HKID (2 digit prefix) (6 digit number) (1 check digit) = 9 digits *b.If the prefixes only contain one alphabet, a blank space will be added in front. * Therefore, total length of HKID should be always 9 digits */ function validateHKID(hkId) { if(hkId.length < 8 || hkId.length > 9) return false; else if(hkId.length == 8) hkId = ' ' + hkId; return checkHKID(hkId); } function checkHKID(hkId) { var reqAddBlankSpace = false; var firstPrex; var secondPrex; hkId = Trim(hkId); newStr = hkId.replace("(" ,""); newStr = newStr.replace(")" ,""); if (hkId.length > 2) { firstPrex = hkId.substring(0,1); secondPrex = hkId.substring(1,2); } if ( !isNaN(secondPrex) ) { reqAddBlankSpace = true; } if(hkId.length < 0 || hkId.length < 7 || !isNaN(firstPrex) ) { return false; } else if ( getHKCheckDigit(reqAddBlankSpace,Trim(newStr)) == false) { return false; } return true ; } /* * user have the option to enter HK ID in format of A123456(7) or A1234567 */ function getHKCheckDigit(reqAddBlankSpace,hkId) { var numericDigit ; var total = 0; var start = hkId.length ; var checkDigit ; var lastDigit = hkId.substring(hkId.length-1,hkId.length) ; var ret; if (reqAddBlankSpace == true) { total += 91 * 9; } for(var i = 0; i < hkId.length-1 ; i++) { numericDigit = hkId.substring(i, i+1); if ( isNaN(numericDigit) ) { numericDigit = numericDigit.toUpperCase(); numericDigit = numericDigit.charCodeAt(0) ;//-64 ; //-64 A=65 } total += numericDigit * start; // alert("strat : " + start + "numericDigit: " + numericDigit +"total -" + total ); start--; } if (total != 0) { ret = parseInt(total) % 11; if (ret < 0) { ret += 11; } checkDigit = 11 - ret; } //HKID is valid,if checkDigit = last digit //If checkDigit = 10, treated it as "A" //If checkDigit = 11, treated it as "0" if ( checkDigit == 11) { checkDigit = 0; } if ( checkDigit == 10) { checkDigit = "A"; } if (checkDigit != lastDigit.toUpperCase() ) { return false; } return true ; } function getElement(obj,field) { var element; try { if(obj[getNetuiTagName(field)] != null ) { element = obj[getNetuiTagName(field)]; } else { element = obj.elements[field]; } } catch( ex ) { element = obj.elements[field]; } return element; } function getElementValue( element ) { if( element.type == 'select-one' ) return element.options[ element.selectedIndex ].value; else return element.value; } function getElementValue( obj, field) { var element = getElement(obj, field); if( element.type == 'select-one' ) return element.options[ element.selectedIndex ].value; else return element.value; } function getRadioElementValue( obj, field){ var element = getElement(obj, field); var len = element.length; var elementValue = ''; for (i = 0; i = 0; i--) { if ((string.charAt(i)) != " ") break; else intCount = intCount + 1; string = string.substring(0, tempLength-intCount); } return string; } function getMessage(cd,param) { var message=cd;var temp = param.split('||'); for(var i=0;i 3 ) { str = sepString.charAt( 0 )+num.substr( num.length - 3) + str num = num.substr( 0, num.length - 3 ) } str = num + str return str } function isValidInput( strInput, strType ) { var blnResult = false ; var strSCPattern = "[\"']"; var strTFPattern = "[^\\-\\,\\.\\[\\]\\{\\}|A-Za-z0-9 ]"; var strANPattern = "[\"'~`!@#$%^&*()_\\-+=|/><\.\,\:{}\;\\\\?\\[\\] ]"; //Only allowed A-Z,a-z,0-9 var strANPattern_space = "[\"'~`!@#$%^&*()_\\-+=|/><\.\,\:{}\;\\\\?\\[\\]]"; // Only allowed A-Z,a-z,0-9 and space var strANPattern_adm = "[\"'~`!@#$^&()_\\-+=|/><\.\,\:{}\;\\\\?\\[\\] ]"; //A-Z,a-z,0-9, * and % var strVCPattern = "[\`~!@#$%^*\\+=|><\:{}\;\\\\?\\[\\]]"; //Allowed certain special character -- // '-" &(),./_ var strSCPattern_FileUpload = "[\"*?|/><]"; var strANPattern_ID = "[^A-Za-z0-9]"; //This type will not allow any other languages data except for a-z,A-Z and 0-9. var strANPattern_IDspace = "[^A-Za-z0-9 ]"; //This type will not allow any other languages data except for a-z,A-Z,0-9 and space. var strANPattern_engspace = "[^A-Za-z ]"; //This type will not allow any other languages data except for a-z,A-Z and space. var strADRPattern_nonchi = "[^A-Za-z0-9 \.\,-/']"; //Non-chinese address var strNoPattern_space = "[^0-9 ]"; var strNoPattern = "[^0-9]"; var strSPPattern = "[=,:\"%&*<>{}@#^~[]|]"; // Not allowed some special character ,=:"%&*<>{}@#^~[]| var strSPNCPattern = "[^A-Za-z0-9!$()_`\\-+';/\\\\?\. ]"; // Not Chinese and Not allowed some special character ,=:"%&*<>{}@#^~[]| switch(strType){ case "M" : regexp = new RegExp(strANPattern,"g"); break; case "MS" : regexp = new RegExp(strANPattern_space,"g"); break; case "MADM" : regexp = new RegExp(strANPattern_adm,"g"); break; case "MVC" : regexp = new RegExp(strVCPattern,"g"); break; case "MSCF" : regexp = new RegExp(strSCPattern_FileUpload,"g"); break; case "MID" : regexp = new RegExp(strANPattern_ID,"g"); break; case "MNCS" : regexp = new RegExp(strANPattern_IDspace,"g"); break; case "MES" : regexp = new RegExp(strANPattern_engspace,"g"); break; case "MNCADR" : regexp = new RegExp(strADRPattern_nonchi,"g"); break; case "MSC" : regexp = new RegExp(strSCPattern,"g"); break; case "MASC" : regexp = new RegExp(strTFPattern,"g"); break; case "MNO" : regexp = new RegExp(strNoPattern_space,"g"); break; case "NNO" : regexp = new RegExp(strNoPattern,"g"); break; case "SP" : regexp = new RegExp(strSPPattern,"g"); break; case "SPNC" : regexp = new RegExp(strSPNCPattern,"g"); break; // ------------------------------------- // to be remove case "SC" : regexp = new RegExp(strANPattern,"g"); break; case "ASC" : regexp = new RegExp(strANPattern,"g"); break; } blnResult = !(regexp.test(strInput)); return blnResult; } function TrimLeadZero(string) { var i; var intCount; intCount = 0; stringLength = 0; if ( string.indexOf(".") < 0 ) { stringLength = string.length; } else { stringLength = string.indexOf("."); } for (i = 0; i < stringLength; i++) { if ((string.charAt(i)) != "0") break; else intCount = intCount + 1; string = string.substring(intCount, string.length); } return string; } function CheckLeftZero(string) { var i; var intCount; var blnHaveZero = false; intCount = 0; for (i = 0; i < string.length; i++) { if ((string.charAt(i)) != "0") break; else blnHaveZero = true; } return blnHaveZero; } /******** End Specific to TxtValidation *************************************************************************/ /** * format calendar date format to MM-dd-YYYY */ function reformatDate(passInDate) { var day = passInDate.substring(0,passInDate.indexOf("/")); var month = passInDate.substring(passInDate.indexOf("/")+1,passInDate.length-5); var year = passInDate.substring(passInDate.length-4,passInDate.length); return month + "-" + day + "-" + year; } /** * return today date in the format of MM-dd-YYYY * */ function getCurrentDate() { var currentDate = reformatDate(todayDateTxt);//todayDateTex - Today date render from JavascriptRender return currentDate; } function getDay(passInDate) { return passInDate.substring(0,passInDate.indexOf("/")); } function getMonth(passInDate) { return passInDate.substring(passInDate.indexOf("/")+1,passInDate.length-5); } function getYear(passInDate) { return passInDate.substring(passInDate.length-4,passInDate.length); } function padZero(passInValue) { var dateValue = passInValue.toString(); if ( dateValue.length == 1) { dateValue = "0" + dateValue; } return dateValue; } /** * Empty the input field if value is not integer {0123456789} */ function emptyIsNotNo(string) { if (!string) return ''; var Chars = "0123456789"; var result = true; for (var i = 0; i < string.length; i++) { if (Chars.indexOf(string.charAt(i)) == -1) result = false; } if ( result == true) { return string ; } else { return ''; } } /* * check whether input value is number ( set the value to empty if the input value == zero ) */ function acceptNumberOnly(inputValue) { var num ; inputValue = inputValue.toString().replace(/\$|\,/g,''); if (testNum(inputValue) == false ) { num = ''; } else if ( inputValue == 0 ) { num = '' ; } else { num = inputValue ; } return num ; } /* * check whether input value is a valid numeric number */ function testNum(amount) { var testResult; var anum = /(^\d+$)|(^\d+\.\d+$)/ if (anum.test(amount)) { testResult = true ; } else { testResult = false; } return (testResult) } /* * format the currency as x,xxx.00 format [not allowed user to key in zero value] */ function formatCurrencyNZ(num) { var num , cents , tempNum ; num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; if(num.substring(0,1) == "-" ) { num="" ; } cents = Math.floor((num*100+0.5)%100); num = Math.floor((num*100+0.5)/100).toString(); if(cents < 10) cents = "0" + cents; for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3)); if ( (num + '.' + cents)== 0.0) { tempNum = ''; } else { tempNum = num + '.' + cents; } return (tempNum); } /** * Retrieve the radio button checked value */ function getRadioGrpSelectedValue(frmTg,radioGrpTag) { var length = document.forms[getNetuiTagName(frmTg)][getNetuiTagName(radioGrpTag)].length; var selectedValue ; for ( var i = 0 ; i < length ; i++) { if ( document.forms[getNetuiTagName(frmTg)][getNetuiTagName(radioGrpTag)][i].checked ) { selectedValue = document.forms[getNetuiTagName(frmTg)][getNetuiTagName(radioGrpTag)][i].value; } } return selectedValue ; } /** * Validate two radio button text box.Only either one can be enable * item1 - the textbox which to disable * item 2- the textbox which to enable */ function checkNetherOne(formTag,item1,item2) { document.forms[getNetuiTagName(formTag)][getNetuiTagName(item1)].disabled= true ; document.forms[getNetuiTagName(formTag)][getNetuiTagName(item2)].disabled= false ; if ( document.forms[getNetuiTagName(formTag)][getNetuiTagName(item1)].disabled == true ) { document.forms[getNetuiTagName(formTag)][getNetuiTagName(item1)].value = '' ; document.forms[getNetuiTagName(formTag)][getNetuiTagName(item1)].style.backgroundColor = 'E7E9EF' ; } else { document.forms[getNetuiTagName(formTag)][getNetuiTagName(item2)].style.backgroundColor = '#FFFFFF' ; } if ( document.forms[getNetuiTagName(formTag)][getNetuiTagName(item2)].disabled == true ) { document.forms[getNetuiTagName(formTag)][getNetuiTagName(item2)].value = '' ; document.forms[getNetuiTagName(formTag)][getNetuiTagName(item2)].style.backgroundColor = 'E7E9EF' ; } else { document.forms[getNetuiTagName(formTag)][getNetuiTagName(item2)].style.backgroundColor = '#FFFFFF' ; } } function getTagIdValue(frmTag,tagId) { if ( document.forms[getNetuiTagName(frmTag)][getNetuiTagName(tagId)] != null ) return document.forms[getNetuiTagName(frmTag)][getNetuiTagName(tagId)].value ; } function emptyTagValue(frmTag,tagId) { return document.forms[getNetuiTagName(frmTag)][getNetuiTagName(tagId)].value ='' ; } function disableTextBox(frmTg,tagId) { document.forms[getNetuiTagName(frmTg)][getNetuiTagName(tagId)].style.backgroundColor = 'E7E9EF' ; document.forms[getNetuiTagName(frmTg)][getNetuiTagName(tagId)].disabled = true; } function disableNClearTxtValue(frmTg,tagId) { document.forms[getNetuiTagName(frmTg)][getNetuiTagName(tagId)].style.backgroundColor = 'E7E9EF' ; document.forms[getNetuiTagName(frmTg)][getNetuiTagName(tagId)].value ='' ; document.forms[getNetuiTagName(frmTg)][getNetuiTagName(tagId)].disabled = true; } function enableTextBox(frmTg,tagId) { document.forms[getNetuiTagName(frmTg)][getNetuiTagName(tagId)].style.backgroundColor = '#FFFFFF' ; document.forms[getNetuiTagName(frmTg)][getNetuiTagName(tagId)].disabled = false; } function frmReset() { document.forms[0].reset(); } function defaultSeletedValue(frmTg,dropDownTg) { document.forms[getNetuiTagName(frmTg)][getNetuiTagName(dropDownTg)].selectedIndex = 0; } function disableNClearRadioButton(frmTg,radioGrpTag) { var length = document.forms[getNetuiTagName(frmTg)][getNetuiTagName(radioGrpTag)].length; for ( var i = 0 ; i < length ; i++) { document.forms[getNetuiTagName(frmTg)][getNetuiTagName(radioGrpTag)][i].checked = false ; document.forms[getNetuiTagName(frmTg)][getNetuiTagName(radioGrpTag)][i].disabled = true ; } } /* * Perform text field validation similar to TextValidate(objForm, Param), but disable Templates so that custom error messages could be used. * Pass in variable: form object and Array * Usage : * var vntParam = new Array(); * //new Array( "FieldTagId","Please input FieldDescription.","FieldType"); * vntParam[vntParam.length] = new Array( "alertDateTg","Alert Date","DT"); */ function TextValidateNoTemplate(objForm, Param) { TextValidate_disableTemplate(); var retVal = TextValidate(objForm, Param); TextValidate_enableTemplate(); return retVal; } function TextValidate_disableTemplate() { document.TEMP_IS_MANDATORY_MSG = IS_MANDATORY_MSG; document.TEMP_CONTAIN_INVALID_CHAR_MSG = CONTAIN_INVALID_CHAR_MSG; document.TEMP_IS_NOT_NUMERIC_MSG = IS_NOT_NUMERIC_MSG; document.TEMP_VALUE_MUST_GREATER_THAN_ZERO_MSG = VALUE_MUST_GREATER_THAN_ZERO_MSG; document.TEMP_VALUE1_SHOULD_LESS_THAN_VALUE2_MSG = VALUE1_SHOULD_LESS_THAN_VALUE2_MSG; document.TEMP_VALUE1_MUST_NOT_GREATER_THAN_VALUE2_MSG = VALUE1_MUST_NOT_GREATER_THAN_VALUE2_MSG; document.TEMP_DATE_SHOULD_EQUAL_GREATER_THAN_TODAY_MSG = DATE_SHOULD_EQUAL_GREATER_THAN_TODAY_MSG; document.TEMP_AMT_EQUAL_ZERO_MSG = AMT_EQUAL_ZERO_MSG; document.TEMP_INVALID_FORMAT_OF_MSG = INVALID_FORMAT_OF_MSG; document.TEMP_ALERT_DT_SHOULD_LESS_THAN_TRANSAC_DT_BUT_GREATER_THAN_TODAY_DT = ALERT_DT_SHOULD_LESS_THAN_TRANSAC_DT_BUT_GREATER_THAN_TODAY_DT; document.TEMP_GREATER_THAN_VALUE1_N_LESS_THAN_VALUE2 = GREATER_THAN_VALUE1_N_LESS_THAN_VALUE2; document.TEMP_DATE_SHOULD_GREATER_THAN_TODAY_MSG = DATE_SHOULD_GREATER_THAN_TODAY_MSG; document.TEMP_INTEGER_INPUT = INTEGER_INPUT; document.TEMP_INVALID_EMAIL_MSG = INVALID_EMAIL_MSG; document.TEMP_INVALID_RATE_MSG = INVALID_RATE_MSG; document.TEMP_REQUEST_REMINDER_ALERT_SHOULD_1_7_DAYS_BEFORE_TRANS_DT = REQUEST_REMINDER_ALERT_SHOULD_1_7_DAYS_BEFORE_TRANS_DT; document.TEMP_MUST_BE_GRATER_THAN_MSG = MUST_BE_GRATER_THAN_MSG; document.TEMP_INVALID_MSG = INVALID_MSG; IS_MANDATORY_MSG = "{0}"; CONTAIN_INVALID_CHAR_MSG = "{0}"; IS_NOT_NUMERIC_MSG = "{0}"; VALUE_MUST_GREATER_THAN_ZERO_MSG = "{0}"; VALUE1_SHOULD_LESS_THAN_VALUE2_MSG = "{0}"; VALUE1_MUST_NOT_GREATER_THAN_VALUE2_MSG = "{0}"; DATE_SHOULD_EQUAL_GREATER_THAN_TODAY_MSG = "{0}"; AMT_EQUAL_ZERO_MSG = "{0}"; INVALID_FORMAT_OF_MSG = "{0}"; ALERT_DT_SHOULD_LESS_THAN_TRANSAC_DT_BUT_GREATER_THAN_TODAY_DT = "{0}"; GREATER_THAN_VALUE1_N_LESS_THAN_VALUE2 = "{0}"; DATE_SHOULD_GREATER_THAN_TODAY_MSG = "{0}"; INTEGER_INPUT = "{0}"; INVALID_EMAIL_MSG = "{0}"; INVALID_RATE_MSG = "{0}"; REQUEST_REMINDER_ALERT_SHOULD_1_7_DAYS_BEFORE_TRANS_DT= "{0}"; MUST_BE_GRATER_THAN_MSG= "{0}"; INVALID_MSG= "{0}"; } function TextValidate_enableTemplate() { IS_MANDATORY_MSG = document.TEMP_IS_MANDATORY_MSG; CONTAIN_INVALID_CHAR_MSG = document.TEMP_CONTAIN_INVALID_CHAR_MSG; IS_NOT_NUMERIC_MSG = document.TEMP_IS_NOT_NUMERIC_MSG; VALUE_MUST_GREATER_THAN_ZERO_MSG = document.TEMP_VALUE_MUST_GREATER_THAN_ZERO_MSG; VALUE1_SHOULD_LESS_THAN_VALUE2_MSG = document.TEMP_VALUE1_SHOULD_LESS_THAN_VALUE2_MSG; VALUE1_MUST_NOT_GREATER_THAN_VALUE2_MSG = document.TEMP_VALUE1_MUST_NOT_GREATER_THAN_VALUE2_MSG; DATE_SHOULD_EQUAL_GREATER_THAN_TODAY_MSG = document.TEMP_DATE_SHOULD_EQUAL_GREATER_THAN_TODAY_MSG; AMT_EQUAL_ZERO_MSG = document.TEMP_AMT_EQUAL_ZERO_MSG; INVALID_FORMAT_OF_MSG = document.TEMP_INVALID_FORMAT_OF_MSG; ALERT_DT_SHOULD_LESS_THAN_TRANSAC_DT_BUT_GREATER_THAN_TODAY_DT = document.TEMP_ALERT_DT_SHOULD_LESS_THAN_TRANSAC_DT_BUT_GREATER_THAN_TODAY_DT; GREATER_THAN_VALUE1_N_LESS_THAN_VALUE2 = document.TEMP_GREATER_THAN_VALUE1_N_LESS_THAN_VALUE2; DATE_SHOULD_GREATER_THAN_TODAY_MSG = document.TEMP_DATE_SHOULD_GREATER_THAN_TODAY_MSG; INTEGER_INPUT = document.TEMP_INTEGER_INPUT; INVALID_EMAIL_MSG = document.TEMP_INVALID_EMAIL_MSG; INVALID_RATE_MSG = document.TEMP_INVALID_RATE_MSG; REQUEST_REMINDER_ALERT_SHOULD_1_7_DAYS_BEFORE_TRANS_DT = document.TEMP_REQUEST_REMINDER_ALERT_SHOULD_1_7_DAYS_BEFORE_TRANS_DT; MUST_BE_GRATER_THAN_MSG = document.TEMP_MUST_BE_GRATER_THAN_MSG; INVALID_MSG = document.TEMP_INVALID_MSG; } function validateCreditCard(cardNbr) { var i = 0; var tempval = 0; var sum = 0; for(i=cardNbr.length-2; i>=0; i-=2) { tempval = parseInt(cardNbr.charAt(i)); tempval *= 2; if(tempval > 9) tempval -= 9; sum += tempval; } for(i=cardNbr.length-1; i>=0; i-=2) { sum += parseInt(cardNbr.charAt(i)); } if(sum%10 == 0) return true; else return false; }