/** * Branch Tag : BMS 1.1 * Branch Time : 2002-04-19 * * Change History : * * changed by : * change time : * change reason : * change action : **/ /** * New a error message localizer in jsp file here. * So the variable "errorLocalizer" is system reserved. */ // client side validation code function getErrormessage( errormsg ) { // should define a suffix filter array var suffix = "
"; var index = errormsg.lastIndexOf(suffix); if (index!=-1) return errormsg.substring(0,index); else return errormsg; } function isEmail ( js_value ) { var pos ; var re ; re = /^\s*$/ ; if ( js_value.match(re) ) { return true ; } pos = js_value.indexOf( '@',0 ) ; if ( js_value.length <= 5 ) return false ; if ( pos==-1 || pos==0 || pos==(js_value.length-1) ) return false ; pos = js_value.indexOf( '.',0 ) ; if ( pos<=0 || pos==(js_value.length-1) ) return false ; return true ; } function isPhone (js_value) { var re = /^[0-9\*\-( )]*$/; if (js_value.match (re)) return true; return false; } function isMobilephone(js_value) { var re = /^[0-9\s]*$/; if (js_value.match (re)) return true; return false; } function isPostcode(js_value) { var re ; re = /^\s*$/ ; if ( js_value.match(re) ) { return true ; } if ( !is_natural(js_value) || js_value.length!=6 ) { return false ; } return true ; } // used by isPostCode function is_natural ( js_value ) { var re ; re = /^\s*$/ ; if ( js_value.match(re) ) { return true ; } re = /^\+{0,1}[0-9]*$/ ; if ( !js_value.match(re) ) return false ; return true ; } function isURL(js_value) { var pos, posdot ; var re ; re = /^\s*$/ ; if ( js_value.match(re) ) { return true ; } pos = js_value.indexOf('://',0) ; if ( pos<0 ) return false ; posdot = js_value.lastIndexOf('.') ; if ( posdot= 0 ) { return false ; } return true ; } function isDouble(js_value) { var re; re = /^\s*$/; if( js_value.match(re)) { return true; } if(isNaN(js_value)) return false; return true; } function isPositive(js_value) { if (isDouble(js_value)&&js_value>0) return true; } function isDate(date, format) { if (format != 'yyyy-MM-dd') format = 'yyyy-MM-dd'; if (date.length!=10||date==null) return false; var year = parseInt(date.substring(0,4)); var month = parseInt(date.substring(5,7)); var day = parseInt(date.substring(8,10)); //by lixinqian, to deal with date format such as 200K-02-03 or 2000-01-32 if(!(date.substring(0,4) + date.substring(5,7) + date.substring(8,10) > 19000000)) return false; if(month<1 || month>12 || day<1 || day >31) return false; // return when some date field not specify if (isNaN(year) || isNaN(month) || isNaN(day)) { return false; } // validate the month only has 30 days if (month==4||month==6|| month==9||month==11) { if (day>30) return false; return true; } // validate the February if (month==2) { // if the year is leap year if ((year%400==0)|| ((year%100!=0)&&(year%4==0))) { if (day>29) return false; } else { if (day>28) return false; } return true; } if (day>31) return false; return true; } function isMonth(moon, format) { if (format != 'yyyy-MM') format = 'yyyy-MM'; if (moon.length!=7||moon==null) return false; var year = parseInt(moon.substring(0,4)); var month = parseInt(moon.substring(5,7)); //by lixinqian, to deal with date format such as 200K-02-03 or 2000-01-32 if(!(moon.substring(0,4) + moon.substring(5,7) > 190000)) return false; if(month<1 || month>12) return false; // return when some date field not specify if (isNaN(year) || isNaN(month)) { return false; } return true; } function isYear(annual, format) { if (format != 'yyyy') format = 'yyyy'; if (annual.length!=4||annual==null) return false; var year = parseInt(annual.substring(0,4)); //by lixinqian, to deal with date format such as 200K-02-03 or 2000-01-32 if(!(annual.substring(0,4) > 1900)) return false; // return when some date field not specify if (isNaN(year)) { return false; } return true; } function isLoginname (js_value) { if (isEmpty (js_value)) return true; var re = '[A-Za-z]+[A-Za-z0-9_]*'; return regmatch (js_value, re) } function isCode (js_value) { if (isEmpty (js_value)) return true; var re = '[A-Za-z0-9_]*'; return regmatch (js_value, re) } function isPassword (js_value) { if (isEmpty (js_value)) return true; var re = '[A-Za-z0-9_]*'; return regmatch (js_value, re) } function isPrice (js_value) { return isDouble (js_value); } function isEmpty (js_value) { var re; re = /^\s*$/; if(js_value.match (re)) { return true; } return false; } function contains(s1,s2) { var s = s1.lastIndexOf(s2); if (s!=-1) return true; return false; } function regmatch (s1, s2) { // eval ("re = /^" + s2 + "$/"); re = new RegExp ('^' + s2 + '$') return s1.match (re); // return s1.match (s2); } /* function name:str_length jch添加 判断字符长度,如果是汉字算两个字节 2005-06-28 */ function str_length(str){ var j=str.length; var n=j for (var i=0;i255) n++ } return n } function strlength(s1,minsize,maxsize) { if (minsize == Number.MAX_VALUE) minsize = 0; var len = str_length(s1); if (len>=minsize && len <= maxsize ) return true; else return false; } function arraysize(aArray,minsize,maxsize) { if (minsize == Number.MAX_VALUE) minsize = 0; var size = aArray.length; if(size >=minsize && size <= maxsize ) return true; else return false; } function date_compare(date1, date2) { var date1_time = date1.getTime(); var date2_time = date2.getTime(); if (date1_time > date2_time) return 1; if (date1_time == date2_time) return 0; return -1; } function string_compare(str1, str2) { var len1 = str1.length; var len2 = str2.length; var n; if (len1 > len2) n = len2; else n = len1; var i = 0; var j = 0; while (n-- != 0) { var c1 = str1.charCodeAt(i++); var c2 = str2.charCodeAt(j++); if (c1 != c2) { return c1 - c2; } } return len1 - len2; } function validate_date(year, month, day) { if (null==year|| null==month|| null==day) return; var year_sel = year.selectedIndex; var month_sel = month.selectedIndex; var day_sel = day.selectedIndex; var year_num = parseInt(year.options[year_sel].value); if (isNaN(year_num)) year_num = parseInt(year.options[year_sel].text); var month_num = parseInt(month.options[month_sel].value); if (isNaN(month_num)) month_num = parseInt(month.options[month_sel].text); var day_num = parseInt(day.options[day_sel].value); if (isNaN(day_num)) day_num = parseInt(day.options[day_sel].text); // return when some date field not specify if (isNaN(year_num) || isNaN(month_num) || isNaN(day_num)) { return; } var alert_str = year_num + "年" + month_num + "月没有" + day_num + "天!"; // validate the month only has 30 days if (month_num==4||month_num==6|| month_num==9||month_num==11) { if (day_num>30) alert(alert_str); return; } // validate the February if (month_num==2) { // if the year is leap year if ((year_num%400==0)|| ((year_num%100!=0)&&(year_num%4==0))) { if (day_num>29) alert(alert_str); } else { if (day_num>28) alert(alert_str); } return; } } function getValue (js_obj) { if (null == js_obj) return null; var re, i; re = /^\s*$/ ; if (js_obj.length) { if (js_obj[0].type == "checkbox") { for (i=0; i