//校验是否为整数
function isInteger(str){
var rc=true;
if (str+"" == "undefined" || str == null){
rc=false;
} else{
for(i=0;i<str.length;i++){
if(i==0 && str.charAt(i)=='-'){
continue;
}
if(str.charAt(i)<'0' || str.charAt(i)>'9'){
rc=false;
break;
}
}
}
return rc;
}
//校验double类型数据,整数位和小数位的精确校验
function checkDoubleLength(str,intleng,fltleng){
if (checkFloat(str)==false) {
return false;
}
if(parseFloat(str)<0){
if (str.length > intleng+fltleng+2) {
return false;
}
}else{
if (str.length > intleng+fltleng+1) {
return false;
}
}
var strArray = str.split(".");
if (strArray.length > 2) {
return false;
}
if(parseFloat(str)<0){
if (strArray[0].length > intleng+1) {
return false;
}
}else{
if (strArray[0].length > intleng) {
return false;
}
}
if (strArray.length == 2) {
if (strArray[1].length > fltleng) {
return false;
}
}
return true;
}
function checkDateByFields(year,month,day){
if(!isNumber(year)){
return false;
}
if(!isNumber(month)){
return false;
}
if(!isNumber(day)){
return false;
}
var date = new Date(year, month - 1, day);
if (date.getMonth() == (month-1)) {
return true;
} else {
return false;
}
}
//校验指定格式的日期
function checkDate(str1,format){
if (str1 + "" == "undefined" || str1 == null){
return false;
}
var y,m,d;
var Separator;
if(format=="MMyyyy"){
if(str1.length!=6) return false;
else{
if(isNumber(str1)){
d = "01";
m = str1.substring(0,2);
y = str1.substring(2);
return checkDateByFields(y,m,d);
}else{
return false;
}
}
}
if(isNumber(str1)){
//输入日期åˆæ³•æ ¼å¼ï¼šyyyyMMdd,yyMMdd
if(str1.length!=8&&str1.length!=6) {
return false;
}else{
if(str1.length==8){
if(format=="yy-MM-dd"||format=="yyMMdd") return false;
y = str1.substring(0,4);
m = str1.substring(4,6);
d = str1.substring(6,8);
}
if(str1.length==6){
if(format=="yyyy-MM-dd"||format=="yyyyMMdd") return false;
y = SERVER_SYSTEM_DATE.substring(0,2)+ str1.substring(0,2);
m = str1.substring(2,4);
d = str1.substring(4,6);
}
}
}else{
//输入日期åˆæ³•æ ¼å¼ï¼šyyyy.MM.dd
if(str1.indexOf(".")>-1){
Separator = ".";
}
//输入日期åˆæ³•æ ¼å¼ï¼šyyyy-MM-dd
if(str1.indexOf("-")>-1){
Separator = "-";
}
//输入日期åˆæ³•æ ¼å¼ï¼šyyyy/MM/dd or dd/MM/yyyy
if(str1.indexOf("/")>-1){
Separator = "/";
}
//输入日期åˆæ³•æ ¼å¼ï¼šyyyy MM dd
if(str1.indexOf(" ")>-1){
Separator = " ";
}
arrDate = str1.split(Separator);
if(arrDate.length!=3) return false;
for(var i = 0;i < arrDate.length;i++){
if(arrDate[i]==""){
return false;
}
}
y = arrDate[0];
m = arrDate[1];
d = arrDate[2];
if(d.toString().length==4){
y= arrDate[2];
d= arrDate[0];
m= arrDate[1];
}
}
return checkDateByFields(y,m,d);
}
function checkCnId(sID){
var W=new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var rc=false;
if(isUndefined(sID)){
return rc;
}
else if(sID.length==15){
if (!checkDate(getBirthdayFromCnId(sID))) {
return rc;
}else{
rc = true;
}
}
else if(sID.length==18){
var nCount=0;
var nIdNum=0;
for(var i=0;i<18;i++){
var c=sID.charAt(i);
if((c=='X')||(c=='x')){
nIdNum=10;
}
else if((c<='9')||(c>='0')){
nIdNum=c-'0';
}
else{
return rc;
}
nCount+=nIdNum*W[i];
}
if (!checkDate(getBirthdayFromCnId(sID))) {
return rc;
}
if((nCount%11)==1){
rc=true;
}
}
return rc;
}
/*
*<p>Description: 检查身份è¯å·ä¸Šçš„生日与输入生日(yyyy-MM-dd)是å¦ç›¸ç¬¦</p>
*@param id 身份è¯å·ç
*@param birth 生日
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCnIdBirth(id,birth){
if (id.length == 15||id.length == 18){
var id_birthday = getBirthdayFromCnId(id);
if (birth!=id_birthday ) return false;
}else{
return false;
}
return true;
}
/*
*<p>Description: 检查身份è¯ä¸Šçš„性别与输入的性别 (M:male;F:female)是å¦ç›¸ç¬¦</p>
*@param id 身份è¯å·ç
*@param gender 性别
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCnIdGender(id,gender){
if (id.length == 15||id.length == 18){
var id_gender = getGenderFromCnId(id);
if (gender=="M" || gender=="m") {
if ( id_gender!="M" ) {
return false;
}
}else{
if ( id_gender!="F" ) {
return false;
}
}
}else{
return false;
}
return true;
}
/*
*<p>Description: 通过四ç§ç±»åž‹æ£€æŸ¥è¾“å…¥å‚数是å¦ä¸ºåˆæ³•çš„身份è¯å·ç ï¼ˆæ–°åŠ å¡ï¼‰ï¼Œä¼ 入的å‚数必须先全部是大写,并且ä¿è¯é¡µé¢å‚数全部大写</p>
*@param sID 身份è¯å·ç
*@param stype 身份è¯ç±»åž‹(S,T,G,F)
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkSgIdByType(sID,stype){
if(sID.charAt(0)==stype)
return checkSgId(sID);
else
return false;
}
/*
*<p>Description: 检查输入å‚数是å¦ä¸ºåˆæ³•çš„身份è¯å·ç ï¼ˆæ–°åŠ å¡ï¼‰ï¼Œä¼ 入的å‚数必须先全部是大写,并且ä¿è¯é¡µé¢å‚数全部大写</p>
*@param sID 身份è¯å·ç
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkSgId(sID){
var rc=true;
var values = new Array(7);
var Uin = new Array('A','B','C','D','E','F','G','H','I','Z','J');
var Fin = new Array('K','L','M','N','P','Q','R','T','U','W','X');
if (sID+"" == "undefined" || sID == null || sID == ''){
return true;
} else if (sID.length!=9) {
rc=false;
} else {
for(i=0; i < sID.length - 1; i++){
if(i==0){
if (sID.charAt(i)!='S' && sID.charAt(i)!='T' && sID.charAt(i)!='F' && sID.charAt(i)!='G') {
rc=false;
break;
}
} else if (i==sID.length-1) {
if (!(sID.charAt(i)>='A' && sID.charAt(i)<='Z')) {
rc=false;
break;
}
} else {
values[i-1] = sID.charAt(i);
if (sID.charAt(i)<'0' || sID.charAt(i)>'9'){
rc=false;
break;
}
}
}
}
if (rc) {
var result;
if (sID.charAt(0)=='S'||sID.charAt(0)=='F') {
result = 11 - ((values[0]*2+values[1]*7+values[2]*6+values[3]*5+values[4]*4+values[5]*3+values[6]*2) % 11);
} else if (sID.charAt(0)=='T'||sID.charAt(0)=='G') {
result = 11 - ((values[0]*2+values[1]*7+values[2]*6+values[3]*5+values[4]*4+values[5]*3+values[6]*2 + 4) % 11);
}
if (sID.charAt(0)=='S'||sID.charAt(0)=='T'){
if(sID.charAt(8)!=Uin[result-1]) rc=false;
}else if (sID.charAt(0)=='G'||sID.charAt(0)=='F'){
if(sID.charAt(8)!=Fin[result-1]) rc=false;
}
}
return rc;
}
/*
*<p>Description: 马æ¥è¥¿äºšèº«ä»½è¯æ ¡éªŒ (781030-01-2652)</p>
*@param sID 身份è¯å·ç
*@param birthday 出生日期
*@param gender 性别
*@param homeplace 生日地代ç
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkMlId(sID,birthday,gender,homeplace){
var rc = true;
var birthArray = birthday.split("/");
if(sID.length!=14){
rc = false;
}else{
var strArray = sID.split("-");
if(strArray.length!=3){
rc=false;
}else{
//YYMMDD
if(strArray[0].length!=6){
rc=false;
}else{
if(!isNumber(strArray[0])){
rc=false;
}else{
if(strArray[0].substring(0,2)!=birthArray[2].substring(2)){
rc=false;
}else{
if(strArray[0].substring(2,4)!=birthArray[1]){
rc=false;
}else{
if(strArray[0].substring(4)!=birthArray[0])
rc=false;
}
}
}
}
//XX==homeplace
/*if(strArray[1].length!=2){
rc=false;
}else{
}*/
//999G
if(strArray[2].length!=4){
rc=false;
}else{
if(!isNumber(strArray[2])){
rc=false;
}else{
var id_gender=strArray[2].charAt(3);
if (gender=="M" || gender=="m") {
if ( id_gender!="1" && id_gender!="3" && id_gender!="5" && id_gender!="7" && id_gender!="9" ) {
return false;
}
}else{
if ( id_gender!="2" && id_gender!="4" && id_gender!="6" && id_gender!="8" && id_gender!="0" ) {
return false;
}
}
}
}
}
}
return rc;
}
function checkMlIdForm(sID){
var rc = true;
if(sID.length!=14){
rc = false;
}else{
var strArray = sID.split("-");
if(strArray.length!=3){
rc=false;
}else{
//YYMMDD
if(strArray[0].length!=6){
rc=false;
}else{
if(!isNumber(strArray[0])){
rc=false;
}
}
//XX==homeplace
/*if(strArray[1].length!=2){
rc=false;
}else{
}*/
//999G
if(strArray[2].length!=4){
rc=false;
}else{
if(!isNumber(strArray[2])){
rc=false;
}
}
}
}
return rc;
}
/*
*<p>Description: æ–°åŠ å¡èº«ä»½è¯é¦–ä½ä¸Žç”Ÿæ—¥å…³ç³»æ ¡éªŒ </p>
*@param sID 身份è¯å·ç
*@param bYear 生日所在年份
*@param bMonth 生日所在月份
*@param bDay 生日日期
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkSgIdBirth(sID, bYear, bMonth, bDay){
var checkDate = new Date(1968, 0, 1);
var birthDate = new Date(bYear, bMonth-1, bDay);
var rc = true;
if ( sID.charAt(0) == 'S' || sID.charAt(0) == 'T') {
if(birthDate>=checkDate||parseFloat(sID.substring(1,3))>=68)
if(sID.substring(1,3)!=bYear.substring(2))
rc=false;
}
return rc;
}
/*
*<p>Description: æ ¹æ®å›½å®¶çš„ä¸åŒï¼Œæ£€æŸ¥è¾“入的身份è¯å·ç 是å¦åˆæ³•</p>
*@param id 身份è¯å·ç
*@param country 身份è¯æ‰€åœ¨å›½å®¶ï¼ŒCN:ä¸å›½ï¼›SGï¼šæ–°åŠ å¡
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkId(id,country){
if(isUndefined(country)||country=="CN"){
return checkCnId(id);
}else if(country=="SG"){
return checkSgId(id);
}
}
/*
*<p>Description: 检查电è¯å·ç 是å¦æ£ç¡®(ä¸å›½)</p>
*@param str 待检查的电è¯å·ç
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCnPhone(str) {
var rc=true;
if (str+"" == "undefined" || str == null){
rc=false;
} else {
for(i=0;i<str.length;i++) {
if(!(str.charAt(i)>='0' && str.charAt(i)<='9')&& str.charAt(i)!='*' && str.charAt(i)!='('&& str.charAt(i)!=')'&& str.charAt(i)!='-'){
rc= false;
break;
}
}
}
return rc;
}
/*
*<p>Description: æ ¹æ®å›½å®¶çš„ä¸åŒï¼Œæ£€æŸ¥ç”µè¯å·ç 是å¦æ£ç¡®</p>
*@param str 待检查的电è¯å·ç
*@param country 电è¯å·ç 所在国家,CN:ä¸å›½
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkPhone(str,country) {
if(isUndefined(country)||country=="CN"){
return checkCnPhone(str);
}
}
/*
*<p>Description: 检查å—符串是å¦åªæœ‰å—æ¯æˆ–æ•°å—组æˆ</p>
*@param str 待检查的å—符串
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isNumberOrLetter(str) {
var rc=true;
if (isUndefined(str)){
rc=false;
} else {
for(i=0;i<str.length;i++) {
if(str.charAt(i)<'0'||(str.charAt(i)>'9' && str.charAt(i)<'A')||(str.charAt(i)>'Z' && str.charAt(i)<'a')||str.charAt(i)>'z'){
rc= false;
break;
}
}
}
return rc;
}
/*
*<p>Description: 检查BP机å·ç </p>
*@param str 待检查的BP机å·ç
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkBp(str) {
var rc=true;
if (isUndefined(str)){
rc=false;
} else {
for(i=0;i<str.length;i++) {
if((str.charAt(i)<'0' || str.charAt(i)>'9')&&(str.charAt(i)!='-'||str.charAt(i)!='*')){
rc= false;
break;
}
}
}
return rc;
}
/*
*<p>Description: 检查是å¦å…¨ä¸ºå—æ¯</p>
*@param str 待检查的å—符串
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isLetter(str){
var rc=true;
if (isUndefined(str)){
rc=false;
} else {
for(i=0;i<str.length;i++) {
if((str.charAt(i)>'Z' && str.charAt(i)<'a')||str.charAt(i)<'A' || str.charAt(i)>'z'){
rc=false;
break;
}
}
}
return rc;
}
/*
*<p>Description: 检查年龄</p>
*@param str 待检查的年龄
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkAge(age){
var rc=true;
if(isNumber(age)==false) {
rc= false;
} else if(age>=200) {
rc= false;
} else if(age<0){
rc=false;
}
return rc;
}
/*
*<p>Description: 检查是å¦å…¨ä¸ºç©ºæ ¼</p>
*@param str 待检查的å—符串
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isSpace(str) {
for(i=0;i<str.length-1;i++) {
if(str.charAt(i)!=' ') {
if(str.charAt(i)!=0xa1||str.chatAt(i+1)!=0xa1)
return false;
else
i++;
}
}
if(str.charAt(i)!=' ')
return false;
return true;
}
/*
*<p>Description: 检查日期在给定日期之åŽ</p>
*@param year 待检查日期的年份
*@param month 待检查日期的月份
*@param day 待检查日
*@param d0 给定的日期
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function dateIsLargerThanDate(year, month, day, d0){
return isLargerThanNow(year, month, day,d0);
}
function isLargerThanNow(year, month, day, d0){
var rc=false;
if(!checkDateByFields(year,month,day)){
rc=false;
} else{
var d1=new Date(year,month-1,day);
if(d1.getTime()>d0.getTime()){
rc=true;
}
}
return rc;
}
/*
*<p>Description: 检查日期在当å‰æ—¥æœŸä¹‹åŽ</p>
*@param year 待检查日期的年份
*@param month 待检查日期的月份
*@param day 待检查日
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function dateIsLargerThanNow(year, month, day){
var Y = SERVER_SYSTEM_DATE.substring(6);
var M = SERVER_SYSTEM_DATE.substring(3,5);
var D = SERVER_SYSTEM_DATE.substring(0,2);
var nowdate=new Date(Y,M-1,D);
return isLargerThanNow(year,month,day,nowdate);
}
/*
*<p>Description: 比较两个日期是å¦ç›¸å·®ä¸€ä¸ªæœˆï¼Œå¦‚果超出一个月返回false,å¦åˆ™è¿”回true</p>
*@param date1 待检查的第一个日期
*@param date2 待检查的第二个日期
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isDatesBetweenOneMonth(date1,date2){
var rc = true;
var y1 = date1.substring(6);
var m1 = date1.substring(3,5);
var d1 = date1.substring(0,2);
var y2 = date2.substring(6);
var m2 = date2.substring(3,5);
var d2 = date2.substring(0,2);
if(y1!=y2) {
if(y1>y2){
if(parseFloat(y2)+1!=y1) rc=false;
else if(parseFloat(m2)!=12||parseFloat(m1)!=1) rc=false;
else if(d2<=d1) rc=false;
}
if(y1<y2){
if(parseFloat(y1)+1!=y2) rc=false;
else if(parseFloat(m1)!=12||parseFloat(m2)!=1) rc=false;
else if(d1<=d2) rc=false;
}
}else {
if(m1>m2){
if(parseFloat(m2)+1!=m1) rc = false;
else if(d2<=d1) rc = false;
}
if(m1<m2){
if(parseFloat(m1)+1!=m2) rc = false;
else if(d1<=d2) rc = false;
}
}
return rc;
}
/*
*<p>Description: 检查是å¦ä¸ºå½“日以å‰çš„åˆæ³•æ—¥æœŸ</p>
*@param str1 待检查的日期 yyyy-MM-dd
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isPastDate(str1) {
if (str1 + "" == "undefined" || str1 == null){
return false;
}
var y,m,d;
var i;
i = str1.indexOf("-");
if (i == -1 || i == str1.length) { return false; }
y = str1.substring(0, i);
str1 = str1.substring(i + 1);
i = str1.indexOf("-");
if (i == -1 || i == str1.length) { return false; }
m = str1.substring(0, i);
d = str1.substring(i + 1);
return !dateIsLargerThanNow(y,m,d);
}
/*
*<p>Description: 检测输入的ä¿å•å·æ˜¯å¦åˆæ³•</p>
*@param str 输入ä¿å•å·
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkPolicyCode(str){
//XXX-X or XXXXX
var rc = true;
var len = 10;
if(!isUndefined(str)&&str!=""){
var aryStr = str.split("-");
if(aryStr.length==1){
if(str.length>10)
rc = false;
else{
if(!isNumber(str))
rc = false;
else{
str = preFillZero(str,len);
var checkNum = getCheckDigit(str);
if(checkNum!=str.charAt(9))
rc = false;
}
}
}else{
if(aryStr.length==2){
if(aryStr[0].length>9||aryStr[1].length!=1)
rc = false;
else{
if(!isNumber(aryStr[0])||!isNumber(aryStr[1]))
rc = false;
else{
var preStr = preFillZero(aryStr[0],len-1);
var checkNum = getCheckDigit(preStr);
if(checkNum!=aryStr[1])
rc = false;
}
}
}else{
rc = false;
}
}
}
return rc;
}
/*
*<p>Description: 检测输入的投ä¿å•å·æ˜¯å¦åˆæ³•</p>
*@param str 输入投ä¿å•å·
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkApplyCode(str){
//XX/XXXXX/XX
var rc = true;
if(!isUndefined(str)&&str!=""){
var aryStr = str.split("/");
if(aryStr.length==1){
if(str.length>10||str.length<8)
rc = false;
else
if(!isNumber(str.substring(str.length-7)))
rc = false;
}else{
if(aryStr.length==3){
if(aryStr[0].length>3||aryStr[0].length<1||aryStr[1].length!=5||aryStr[2].length!=2)
rc = false;
else
if(!isNumber(aryStr[1])||!isNumber(aryStr[2]))
rc = false;
}else{
rc = false;
}
}
}
return rc;
}
/*
*<p>Description: 判æ–一个å—符串是å¦ä»¥æŒ‡å®šå—符串开头</p>
*@param str 待检查å—符串
*@param start 指定开头的å—符串
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function startWith(str,start){
try{
return (str.substring(0,start.length)==start);
}catch(ex){
return false;
}
}
/*
*<p>Description: 判æ–一个å—符串是å¦ä»¥æŒ‡å®šå—符串结尾</p>
*@param str 待检查å—符串
*@param end 指定结尾的å—符串
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function endWith(str,end){
try{
return (str.substring(str.length-end.length)==end);
}catch(ex){
return false;
}
}
/*
*<p>Description: 检查是å¦æ˜¯å›¢å•ä¿å•å·ç ,去除顺åºå·åŽä»¥088结尾å³è®¤ä¸ºæ˜¯å›¢å•ä¿å•å·ç ,å¦åˆ™ä¸æ˜¯</p>
*@param code 待检查的ä¿å•å·ç
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isGroupPolicyCode(code){
return endWith(getPureCode(code),"088");
}
/*
*<p>Description: 检查是å¦æ˜¯å›¢å•æŠ•ä¿å•å·ç ,去除顺åºå·åŽä»¥050结尾å³è®¤ä¸ºæ˜¯å›¢å•æŠ•ä¿å•å·ç ,å¦åˆ™ä¸æ˜¯</p>
*@param code 待检查的投ä¿å•å·ç
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isGroupApplyCode(code){
return endWith(getPureCode(code),"050");
}
/*
*<p>Description: 检查是å¦æ˜¯ç¬¦åˆè§„则的个å•æŠ•ä¿å•å·ç ,去除顺åºå·åŽä»¥001结尾å³è®¤ä¸ºæ˜¯ä¸ªå•æŠ•ä¿å•å·ç ,å¦åˆ™ä¸æ˜¯</p>
*@param code 待检查的投ä¿å•å·ç
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isValidIndvApplyCode(code) {
return isValidApplyCode(code,"001");
}
/*
*<p>Description: 检查是å¦æ˜¯ç¬¦åˆè§„则的团å•æŠ•ä¿å•å·ç ,去除顺åºå·åŽä»¥050结尾å³è®¤ä¸ºæ˜¯å›¢å•æŠ•ä¿å•å·ç ,å¦åˆ™ä¸æ˜¯</p>
*@param code 待检查的投ä¿å•å·ç
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isValidGroupApplyCode(code) {
return isValidApplyCode(code,"050");
}
/*
*<p>Description: 检查是å¦æ˜¯ç¬¦åˆè§„则的投ä¿å•å·ç ,去除顺åºå·åŽä»¥001结尾å³è®¤ä¸ºæ˜¯ä¸ªå•æŠ•ä¿å•å·ç ,å¦åˆ™ä¸æ˜¯ï¼›
去除顺åºå·åŽä»¥050结尾å³è®¤ä¸ºæ˜¯å›¢å•æŠ•ä¿å•å·ç ,å¦åˆ™ä¸æ˜¯</p>
*@param code 投ä¿å•å·ç
*@param suffix 投ä¿å•å·ç åŽç¼€ï¼ˆä¸ªå•:001 团å•:050)
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isValidApplyCode(code,suffix) {
var result = false;
//截å–ç»ä¿çš„投ä¿å•å·ç å‰é¢çš„部分
var pureCode = getPureCode(code);
//是å¦æ˜¯10ä½
result = pureCode.length == 15;
if (result == false) return false;
//检查是å¦å…¨éƒ¨æ˜¯æ•°å—
for(i=0; i < pureCode.length - 1; i++) {
if (pureCode.charAt(i)<'0' || pureCode.charAt(i)>'9'){
result = false;
break;
}
}
if (result == false) return false;
//如果是è€ä¿å•ï¼Œåˆ™è¿”回
if (startWith(pureCode,"00")) return true;
//是å¦ä»¥(个å•ï¼š001 团å•ï¼š050)结尾
result = endWith(pureCode,suffix);
if (result == false) return false;
//æ£€æŸ¥æ ¡éªŒç
//检查é‡æ–°ç»„åˆåŽçš„æ•°å—除以97余数是å¦ä¸º1
var crc;
if (startWith(pureCode,"0")) {
crc = pureCode.substring(1,10) + pureCode.substring(12,15) + pureCode.substring(10,12);
} else {
crc = pureCode.substring(0,10) + pureCode.substring(12,15) + pureCode.substring(10,12);
}
result = (parseInt(crc) % 97) == 1;
return result;
}
/*
*<p>Description: 检查输入的E-mail是å¦æ£ç¡®(validate email return boolean value)</p>
*@param str 待检查的e-mail
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkEmail(str){
var CHAR_LETTER_NUMERIC=1;
var CHAR_UNDERLINE=2;
var CHAR_DOT=3;
var CHAR_AT=4;
var CHAR_DIVIDE=5;
var CHAR_END=6;
var CHAR_OTHER=7;
var DIV_CHAR=',';
var rc=true;
if (isUndefined(str)){
rc=false;
return rc;
} else if(str.length==0){
rc=true;
return rc;
}
var exit_flag=false;
var total_char=str.length;
var pos=0;
var cur_char;
var cur_status=0;
while((pos<=total_char) && (!exit_flag)){
if(pos==total_char){
cur_char=CHAR_END;
}
else if (str.charAt(pos)=='.'){
cur_char=CHAR_DOT;
}
else if (str.charAt(pos)==DIV_CHAR){
cur_char=CHAR_DIVIDE;
}
else if(str.charAt(pos)=='_'){
cur_char=CHAR_UNDERLINE;
}
else if(str.charAt(pos)=='@'){
cur_char=CHAR_AT;
}
else if(((str.charAt(pos)>='a')&&(str.charAt(pos)<='z'))||((str.charAt(pos)>='A')&&(str.charAt(pos)<='Z'))||((str.charAt(pos)>='0')&&(str.charAt(pos)<='9'))||(str.charAt(pos)=='-')){
cur_char=CHAR_LETTER_NUMERIC;
}
else{
cur_char=CHAR_OTHER;
}
switch (cur_status){
case -1://error
rc=false;
exit_flag=true;
break;
case 0://begin status
if((cur_char==CHAR_LETTER_NUMERIC)||(cur_char==CHAR_UNDERLINE)||(cur_char==CHAR_DOT)){
cur_status=1;
}
else{
rc=false;
cur_status=-1;
}
break;
case 1://user name
if((cur_char==CHAR_LETTER_NUMERIC)||(cur_char==CHAR_UNDERLINE)||(cur_char==CHAR_DOT)){
cur_status=1;
}
else if(cur_char==CHAR_AT){
cur_status=2;
}
else{
rc=false;
cur_status=-1;
}
break;
case 2://@
if(cur_char==CHAR_LETTER_NUMERIC){
cur_status=6;
}
else{
rc=false;
cur_status=-1;
}
break;
case 6://"."
if(cur_char==CHAR_LETTER_NUMERIC){
cur_status=6;
}
else if(cur_char==CHAR_DOT){
cur_status=3;
}
else{
rc=false;
cur_status=-1;
}
break;
case 3://fisrt domain name
if(cur_char==CHAR_LETTER_NUMERIC){
cur_status=4;
}
else{
rc=false;
cur_status=-1;
}
break;
case 4://not first domain name
if(cur_char==CHAR_LETTER_NUMERIC){
cur_status=4;
}
else if(cur_char==CHAR_DOT){
cur_status=3;
}
else if(cur_char==CHAR_DIVIDE){
cur_status=0;
}
else if(cur_char==CHAR_END){
cur_status=5;
}
else{
rc=false;
cur_status=-1;
}
break;
case 5://ok
rc=true;
exit_flag=true;
break;
default:
rc=false;
exit_flag=true;
break;
}
pos++;
}
return rc;
}
/*
*<p>Description: 检查输入的移动电è¯å·ç 是å¦æ£ç¡®(validate mobile phone return boolean value)</p>
*@param str 待检查的移动电è¯å·ç
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkMobile(str,country) {
return checkPhone(str,country);
}
/*
*<p>Description: 检查输入的å—符是å¦ä¸ºdouble类型数æ®(validate double number return boolean value)</p>
*@param str 待检查的å—符串
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isDouble(str){
var rc=true;
oneDecimal=false;
if (isUndefined(str)){
rc=false;
} else{
for(i=0;i<str.length;i++){
ch=str.charAt(i);
if(i==0 && ch=='-'){
continue;
}
if(ch=="." && !oneDecimal){
oneDecimal=true;
continue;
}
if ((ch< "0") || (ch >'9')){
rc=false;
break;
}
}
}
return rc;
}
/*
*<p>Description: 检查输入的å—符是å¦ä¸ºè´§å¸ç±»åž‹æ•°æ®(validate currency number return boolean value)</p>
*@param str 待检查的å—符串
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCurrency(str){
var rc=true;
oneDecimal=false;
if (isUndefined(str)){
rc=false;
} else{
for(i=0;i<str.length;i++){
ch=str.charAt(i);
if(i==0 && ch=='-'){
continue;
}
if(ch=="." && !oneDecimal){
oneDecimal=true;
continue;
}
if (!((ch>= '0' && ch <='9')||ch==',')){
rc=false;
break;
}
}
}
return rc;
}
/*
*<p>Description: 按照给定数æ®ç±»åž‹ï¼Œæ£€æŸ¥è¾“入值是å¦å¤§äºŽç»™å®šçš„最å°å€¼ï¼Œæ•°æ®ç±»åž‹åˆ†ä¸ºï¼Œvalue,date,number,currencyå››ç§
(validate if value < minValue and return boolean value)</p>
*@param str 输入å—符
*@param minstr 给定的最å°å€¼
*@param formatType æ•°æ®ç±»åž‹
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkMinValue(str,minstr,formatType){
var rc = true;
if (isUndefined(str)){
rc = false;
}else{
if (formatType=="number"){
if(str!="" && checkCurrency(str)) {
if (parseFloat(numberTrim(str)) < parseFloat(numberTrim(minstr))) rc = false;
}
}
if (formatType=="currency"){
if(str!="" && checkCurrency(str)) {
if (parseFloat(numberTrim(str)) < parseFloat(numberTrim(minstr))) rc = false;
}
}
if (formatType=="date"){
if(str!="" && checkDate(str)) {
var formatStr = formatDate(str,"yyyy-MM-dd");
var formatMinStr = formatDate(minstr,"yyyy-MM-dd");
if (formatStr < formatMinStr) rc = false;
}
}
if (formatType=="value"){
if(str!="") {
if (parseFloat(numberTrim(str)) < parseFloat(numberTrim(minstr))) rc = false;
}
}
}
return rc;
}
/*
*<p>Description: 按照给定数æ®ç±»åž‹ï¼Œæ£€æŸ¥è¾“入值是å¦å°äºŽç»™å®šçš„最大值,数æ®ç±»åž‹åˆ†ä¸ºï¼Œvalue,date,number,currencyå››ç§
(validate if value > maxValue and return boolean value)</p>
*@param str 输入å—符
*@param maxstr 给定的最大值
*@param formatType æ•°æ®ç±»åž‹
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkMaxValue(str,maxstr,formatType){
var rc = true;
if (isUndefined(str)){
rc = false;
}else{
if (formatType=="number"){
if(str!="" && checkCurrency(str)) {
if (parseFloat(numberTrim(str)) > parseFloat(numberTrim(maxstr))) rc = false;
}
}
if (formatType=="currency"){
if(str!="" && checkCurrency(str)) {
if (parseFloat(numberTrim(str)) > parseFloat(numberTrim(maxstr))) rc = false;
}
}
if (formatType=="date"){
if(str!="" && checkDate(str)) {
var formatStr = formatDate(str,"yyyy-MM-dd");
var formatMaxStr = formatDate(maxstr,"yyyy-MM-dd");
if (formatStr > formatMaxStr) rc = false;
}
}
if (formatType=="value"){
if(str!="") {
if (parseFloat(numberTrim(str)) > parseFloat(numberTrim(maxstr))) rc = false;
}
}
}
return rc;
}
/*
*<p>Description: 检查输入的å—符类型是å¦ä¸ºnumberåž‹(validte number type return boolean value)</p>
*@param str 待检查的å—符
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isNumber(str){
var rc=true;
if (isUndefined(str)){
rc=false;
} else if(str.length==0){
rc=false;
} else {
for(i=0;i<str.length;i++){
if(str.charAt(i)<'0' || str.charAt(i)>'9'){
rc=false;
break;
}
}
}
return rc;
}
/*
*<p>Description: 按照文档的编ç 类型,长度åŠæ ¡éªŒä½ç®—法,检查输入的编ç 是å¦åˆæ³•(validate the document code return boolean value)</p>
*@param str 待检查的编ç
*@param typeCode ç¼–ç 类型
*@param nLength ç¼–ç 指定长度
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkDocCode(str,typeCode,nLength){
var rc=true;
var strLength = str.length;
if (isUndefined(str)){
rc=false;
} else {
//check code length
if(strLength != nLength) {
rc = false;
}else{
//check code type
var checkNum = new Array(9,7,3,2,8,7,4,3,2);
if(typeCode == 1){
//check code arithmetic
var check = 10-(str.charAt(0)*checkNum[0]+str.charAt(1)*checkNum[1]+str.charAt(2)*checkNum[2]+
str.charAt(3)*checkNum[3]+str.charAt(4)*checkNum[4]+str.charAt(5)*checkNum[5]+
str.charAt(6)*checkNum[6]+str.charAt(7)*checkNum[7]+str.charAt(8)*checkNum[8])%10;
if(check!=str.charAt(9)) rc = false;
}
}
}
return rc;
}
/*
*<p>Description: 检查输入编ç 的长度是å¦ç¬¦åˆæŒ‡å®šé•¿åº¦(validate the code length return boolean value)</p>
*@param str 待检查的编ç
*@param codeLength 指定长度
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCodeLength(str,codeLength){
var rc=true;
if (isUndefined(str)){
rc=false;
} else {
if(str.length>codeLength) rc=false;
}
return rc;
}
/*
*<p>Description: 检查输入的银行å¸å·æ˜¯å¦æ£ç¡®(validate the bank account return boolean value)</p>
*@param str 待检查的银行å¸å·
*@return boolean值,true or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkBankAccount(str){
var rc = true;
return rc;
}
/*
*<p>Description: 比较两个日期的大å°</p>
*@param strDate1 给定的第一个日期
*@param strDate2 给定的第二个日期
*@return 0:两个日期相ç‰ï¼›
1:strDate1大于strDate2;
-1:strDate1å°äºŽstrDate2ï¼›
2:输入日期éžæ³•ï¼›
3:出现异常.
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function dateCompare(strDate1,strDate2){
var rc = 3;
if(isUndefined(strDate1)||strDate1==""||!checkDate(strDate1)
||isUndefined(strDate2)||strDate2==""||!checkDate(strDate2)){
rc = 2;
}else{
try{
var formatStr1 = formatDate(strDate1,"yyyy-MM-dd");
var formatStr2 = formatDate(strDate2,"yyyy-MM-dd");
if (formatStr1 < formatStr2) rc = -1;
if (formatStr1 > formatStr2) rc = 1;
if (formatStr1 == formatStr2) rc = 0;
}catch(ex){
rc = 3;
return rc;
}
}
return rc;
}
/*
*<p>Description: 检查proposalNoçš„æ£ç¡®æ€§</p>
*@param proposalNo 给定的proposalNo
*@return 0:æ£ç¡®æ•°æ®
-1:输入NO.长度错误;
-2:输入最åŽä¸¤ä½ä¸ç¬¦åˆå½“å‰æ—¶é—´ï¼›
-3:输入的åºåˆ—å·ä¸æ£ç¡®.
*<p>Create Time: 2004-10-15</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkProposalNo(proposalNo){
var rc = 0;
var dateLength = SERVER_SYSTEM_DATE.length;
var lastPart = SERVER_SYSTEM_DATE.substring(dateLength-2);
if(!isUndefined(proposalNo)&&proposalNo!=""){
if(proposalNo.length>10||proposalNo.length<8)
return -1;
if(proposalNo.substring(proposalNo.length-2)!=lastPart)
if(parseFloat(proposalNo.substring(proposalNo.length-2))+1!=lastPart||SERVER_SYSTEM_DATE.substring(3,5)!="01")
return -2;
if(!isNumber(proposalNo.substring(proposalNo.length-7,proposalNo.length-2)))
return -3;
}
return rc;
}
/**
* 检查是å¦å…¨ä¸ºç©ºæ ¼ AllSpace
*/
function AllSpace(str) {
for(i=0;i<str.length-1;i++) {
if(str.charAt(i)!=' ') {
if(str.charAt(i)!=0xa1||str.chatAt(i+1)!=0xa1)
return false;
else
i++;
}
}
if(str.charAt(i)!=' ')
return false;
return true;
}
/**
* 检查是å¦å…¨ä¸ºç©ºæ ¼ AllSpace
*/
function allSpace(str) {
return AllSpace(str);
}
/**
* // 1.检查输入å‚数是å¦å…¨ä¸ºæ•°å—
*/
function CheckNumber(str){
var rc=true;
if (str+"" == "undefined" || str == null){
rc=false;
} else if(str.length==0){
rc=false;
} else {
for(i=0;i<str.length;i++){
if(str.charAt(i)<'0' || str.charAt(i)>'9'){
rc=false;
break;
}
}
}
return rc;
}
function checkNumber(str){
return CheckNumber(str);
}
function getCheckDigit(str){
var checkNum = new Array(9,7,3,2,8,7,4,3,2);
//check code arithmetic
var check = 10-(str.charAt(0)*checkNum[0]+str.charAt(1)*checkNum[1]+str.charAt(2)*checkNum[2]+
str.charAt(3)*checkNum[3]+str.charAt(4)*checkNum[4]+str.charAt(5)*checkNum[5]+
str.charAt(6)*checkNum[6]+str.charAt(7)*checkNum[7]+str.charAt(8)*checkNum[8])%10;
if (check==10) check = 0;
return check;
}
/*
* JavaScript Уģ飬true|false;
* Public.js
*/
/*
åµ¥
ǷΪ
isInteger
ǷΪϷֳָȺСֳȵĸ
checkDoubleLength
ǷΪϷ(validte date type return boolean value by year,month,day)
checkDateByFields
ǷΪϷ(validte date type return boolean value by date string)
checkDate
ǷΪϷ֤ (й)(validate China ID code return boolean value)
checkCnId
ǷΪϷ֤루¼£IJȫǴдұ֤ҳȫд
checkSgId
¼֤λչϵУ
checkSgIdBirth
֤ϵ(yyyy-MM-dd)Ƿ
checkCnIdBirth
֤ϵԱԱ (M:male;F:female)Ƿ
checkCnIdGender
ݹҵIJ֤ͬǷϷ
checkId
绰Ƿȷ(й)
checkCnPhone
ݹҵIJͬ绰Ƿȷ
checkPhone
ַǷֻĸ
isNumberOrLetter
BP
checkBp
ǷȫΪĸ
isLetter
checkAge
ǷȫΪո
isSpace
Ú¸Ö®
isLargerThanNow
ڵǰ֮
dateIsLargerThanNow
ǷΪǰĺϷ
isPastDate
ıǷϷв
checkPolicyCode
ͶǷϷ
checkApplyCode
жһַǷַָͷ
startWith
жһַǷַָβ
endWith
Ƿŵ룬ȥ˳ź088βΪŵ룬
isGroupPolicyCode
ǷŵͶ룬ȥ˳ź050βΪŵͶ룬
isGroupApplyCode
ǷǷϹĸͶ룬ȥ˳ź001βΪǸͶ룬
isValidIndvApplyCode
ǷǷϹŵͶ룬ȥ˳ź050βΪŵͶ룬
isValidGroupApplyCode
ǷǷϹͶ룬ȥ˳ź001βΪǸͶ룬ǣȥ˳ź050βΪŵͶ룬
isValidApplyCode
E-mailÇ·È·(validate email return boolean value)
checkEmail
ƶ绰Ƿȷ(validate mobile phone return boolean value)
checkMobile
ַǷΪDouble(validate float number return boolean value)
isDouble
ַǷΪ(validate currency number return boolean value)
checkCurrency
ոֵͣǷڸСֵͷΪvalue,date,number,currency(validate if value < minValue and return boolean value)
checkMinValue
ոֵͣǷСڸֵͷΪvalue,date,number,currency(validate if value > maxValue and return boolean value)
checkMaxValue
ַǷΪnumber(validte number type return boolean value)
isNumber
ĵıͣȼУλ㷨ıǷϷ(validate the document code return boolean value)
checkDocCode
ijǷָ(validate the code length return boolean value)
checkCodeLength
ʺǷȷ(validate the bank account return boolean value)
checkBankAccount
*/
/*
*<p>Description: ǷΪ</p>
*@param str Ö·
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isInteger(str){
var rc=true;
if (str+"" == "undefined" || str == null){
rc=false;
} else{
for(i=0;i<str.length;i++){
if(i==0 && str.charAt(i)=='-'){
continue;
}
if(str.charAt(i)<'0' || str.charAt(i)>'9'){
rc=false;
break;
}
}
}
return rc;
}
/*
*<p>Description: ǷΪϷֳָȺСֳȵĸ</p>
*@param str Ö·
*@param intleng Ö³
*@param fltleng Сֳ
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkDoubleLength(str,intleng,fltleng){
if (checkFloat(str)==false) {
return false;
}
if(parseFloat(str)<0){
if (str.length > intleng+fltleng+2) {
return false;
}
}else{
if (str.length > intleng+fltleng+1) {
return false;
}
}
var strArray = str.split(".");
if (strArray.length > 2) {
return false;
}
if(parseFloat(str)<0){
if (strArray[0].length > intleng+1) {
return false;
}
}else{
if (strArray[0].length > intleng) {
return false;
}
}
if (strArray.length == 2) {
if (strArray[1].length > fltleng) {
return false;
}
}
return true;
}
/*
*<p>Description: ǷΪϷ(validte date type return boolean value by year,month,day)</p>
*@param year Úµ
*@param month ڵ·
*@param day
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkDateByFields(year,month,day){
if(!isNumber(year)){
return false;
}
if(!isNumber(month)){
return false;
}
if(!isNumber(day)){
return false;
}
var date = new Date(year, month - 1, day);
if (date.getMonth() == (month-1)) {
return true;
} else {
return false;
}
}
/*
*<p>Description: ǷΪϷ(validte date type return boolean value by date string)</p>
*@param str1 Ö·
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkDate(str1,format){
if (str1 + "" == "undefined" || str1 == null){
return false;
}
var y,m,d;
var Separator;
if(format=="MMyyyy"){
if(str1.length!=6) return false;
else{
if(isNumber(str1)){
d = "01";
m = str1.substring(0,2);
y = str1.substring(2);
return checkDateByFields(y,m,d);
}else{
return false;
}
}
}
if(isNumber(str1)){
//ںϷʽyyyyMMdd,yyMMdd
if(str1.length!=8&&str1.length!=6) {
return false;
}else{
if(str1.length==8){
if(format=="yy-MM-dd"||format=="yyMMdd") return false;
y = str1.substring(0,4);
m = str1.substring(4,6);
d = str1.substring(6,8);
}
if(str1.length==6){
if(format=="yyyy-MM-dd"||format=="yyyyMMdd") return false;
y = SERVER_SYSTEM_DATE.substring(0,2)+ str1.substring(0,2);
m = str1.substring(2,4);
d = str1.substring(4,6);
}
}
}else{
//ںϷʽyyyy.MM.dd
if(str1.indexOf(".")>-1){
Separator = ".";
}
//ںϷʽyyyy-MM-dd
if(str1.indexOf("-")>-1){
Separator = "-";
}
//ںϷʽyyyy/MM/dd or dd/MM/yyyy
if(str1.indexOf("/")>-1){
Separator = "/";
}
//ںϷʽyyyy MM dd
if(str1.indexOf(" ")>-1){
Separator = " ";
}
arrDate = str1.split(Separator);
if(arrDate.length!=3) return false;
for(var i = 0;i < arrDate.length;i++){
if(arrDate[i]==""){
return false;
}
}
y = arrDate[0];
m = arrDate[1];
d = arrDate[2];
if(d.toString().length==4){
y= arrDate[2];
d= arrDate[0];
m= arrDate[1];
}
}
return checkDateByFields(y,m,d);
}
/*
*<p>Description: ǷΪϷ֤ (й)(validate China ID code return boolean value)</p>
*@param sID Ö¤
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCnId(sID){
var W=new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var rc=false;
if(isUndefined(sID)){
return rc;
}
else if(sID.length==15){
if (!checkDate(getBirthdayFromCnId(sID))) {
return rc;
}else{
rc = true;
}
}
else if(sID.length==18){
var nCount=0;
var nIdNum=0;
for(var i=0;i<18;i++){
var c=sID.charAt(i);
if((c=='X')||(c=='x')){
nIdNum=10;
}
else if((c<='9')||(c>='0')){
nIdNum=c-'0';
}
else{
return rc;
}
nCount+=nIdNum*W[i];
}
if (!checkDate(getBirthdayFromCnId(sID))) {
return rc;
}
if((nCount%11)==1){
rc=true;
}
}
return rc;
}
/*
*<p>Description: ֤ϵ(yyyy-MM-dd)Ƿ</p>
*@param id Ö¤
*@param birth
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCnIdBirth(id,birth){
if (id.length == 15||id.length == 18){
var id_birthday = getBirthdayFromCnId(id);
if (birth!=id_birthday ) return false;
}else{
return false;
}
return true;
}
/*
*<p>Description: ֤ϵԱԱ (M:male;F:female)Ƿ</p>
*@param id Ö¤
*@param gender Ô±
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCnIdGender(id,gender){
if (id.length == 15||id.length == 18){
var id_gender = getGenderFromCnId(id);
if (gender=="M" || gender=="m") {
if ( id_gender!="M" ) {
return false;
}
}else{
if ( id_gender!="F" ) {
return false;
}
}
}else{
return false;
}
return true;
}
/*
*<p>Description: ͨͼǷΪϷ֤루¼£IJȫǴдұ֤ҳȫд</p>
*@param sID Ö¤
*@param stype Ö¤(S,T,G,F)
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkSgIdByType(sID,stype){
if(sID.charAt(0)==stype)
return checkSgId(sID);
else
return false;
}
/*
*<p>Description: ǷΪϷ֤루¼£IJȫǴдұ֤ҳȫд</p>
*@param sID Ö¤
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkSgId(sID){
var rc=true;
var values = new Array(7);
var Uin = new Array('A','B','C','D','E','F','G','H','I','Z','J');
var Fin = new Array('K','L','M','N','P','Q','R','T','U','W','X');
if (sID+"" == "undefined" || sID == null || sID == ''){
return true;
} else if (sID.length!=9) {
rc=false;
} else {
for(i=0; i < sID.length - 1; i++){
if(i==0){
if (sID.charAt(i)!='S' && sID.charAt(i)!='T' && sID.charAt(i)!='F' && sID.charAt(i)!='G') {
rc=false;
break;
}
} else if (i==sID.length-1) {
if (!(sID.charAt(i)>='A' && sID.charAt(i)<='Z')) {
rc=false;
break;
}
} else {
values[i-1] = sID.charAt(i);
if (sID.charAt(i)<'0' || sID.charAt(i)>'9'){
rc=false;
break;
}
}
}
}
if (rc) {
var result;
if (sID.charAt(0)=='S'||sID.charAt(0)=='F') {
result = 11 - ((values[0]*2+values[1]*7+values[2]*6+values[3]*5+values[4]*4+values[5]*3+values[6]*2) % 11);
} else if (sID.charAt(0)=='T'||sID.charAt(0)=='G') {
result = 11 - ((values[0]*2+values[1]*7+values[2]*6+values[3]*5+values[4]*4+values[5]*3+values[6]*2 + 4) % 11);
}
if (sID.charAt(0)=='S'||sID.charAt(0)=='T'){
if(sID.charAt(8)!=Uin[result-1]) rc=false;
}else if (sID.charAt(0)=='G'||sID.charAt(0)=='F'){
if(sID.charAt(8)!=Fin[result-1]) rc=false;
}
}
return rc;
}
/*
*<p>Description: ֤У (781030-01-2652)</p>
*@param sID Ö¤
*@param birthday
*@param gender Ô±
*@param homeplace յش
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkMlId(sID,birthday,gender,homeplace){
var rc = true;
var birthArray = birthday.split("/");
if(sID.length!=14){
rc = false;
}else{
var strArray = sID.split("-");
if(strArray.length!=3){
rc=false;
}else{
//YYMMDD
if(strArray[0].length!=6){
rc=false;
}else{
if(!isNumber(strArray[0])){
rc=false;
}else{
if(strArray[0].substring(0,2)!=birthArray[2].substring(2)){
rc=false;
}else{
if(strArray[0].substring(2,4)!=birthArray[1]){
rc=false;
}else{
if(strArray[0].substring(4)!=birthArray[0])
rc=false;
}
}
}
}
//XX==homeplace
/*if(strArray[1].length!=2){
rc=false;
}else{
}*/
//999G
if(strArray[2].length!=4){
rc=false;
}else{
if(!isNumber(strArray[2])){
rc=false;
}else{
var id_gender=strArray[2].charAt(3);
if (gender=="M" || gender=="m") {
if ( id_gender!="1" && id_gender!="3" && id_gender!="5" && id_gender!="7" && id_gender!="9" ) {
return false;
}
}else{
if ( id_gender!="2" && id_gender!="4" && id_gender!="6" && id_gender!="8" && id_gender!="0" ) {
return false;
}
}
}
}
}
}
return rc;
}
function checkMlIdForm(sID){
var rc = true;
if(sID.length!=14){
rc = false;
}else{
var strArray = sID.split("-");
if(strArray.length!=3){
rc=false;
}else{
//YYMMDD
if(strArray[0].length!=6){
rc=false;
}else{
if(!isNumber(strArray[0])){
rc=false;
}
}
//XX==homeplace
/*if(strArray[1].length!=2){
rc=false;
}else{
}*/
//999G
if(strArray[2].length!=4){
rc=false;
}else{
if(!isNumber(strArray[2])){
rc=false;
}
}
}
}
return rc;
}
/*
*<p>Description: ¼֤λչϵУ </p>
*@param sID Ö¤
*@param bYear
*@param bMonth ·
*@param bDay
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkSgIdBirth(sID, bYear, bMonth, bDay){
var checkDate = new Date(1968, 0, 1);
var birthDate = new Date(bYear, bMonth-1, bDay);
var rc = true;
if ( sID.charAt(0) == 'S' || sID.charAt(0) == 'T') {
if(birthDate>=checkDate||parseFloat(sID.substring(1,3))>=68)
if(sID.substring(1,3)!=bYear.substring(2))
rc=false;
}
return rc;
}
/*
*<p>Description: ݹҵIJ֤ͬǷϷ</p>
*@param id Ö¤
*@param country ֤ڹңCNйSG¼
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkId(id,country){
if(isUndefined(country)||country=="CN"){
return checkCnId(id);
}else if(country=="SG"){
return checkSgId(id);
}
}
/*
*<p>Description: 绰Ƿȷ(й)</p>
*@param str ĵ绰
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCnPhone(str) {
var rc=true;
if (str+"" == "undefined" || str == null){
rc=false;
} else {
for(i=0;i<str.length;i++) {
if(!(str.charAt(i)>='0' && str.charAt(i)<='9')&& str.charAt(i)!='*' && str.charAt(i)!='('&& str.charAt(i)!=')'&& str.charAt(i)!='-'){
rc= false;
break;
}
}
}
return rc;
}
/*
*<p>Description: ݹҵIJͬ绰Ƿȷ</p>
*@param str ĵ绰
*@param country 绰ڹңCNй
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkPhone(str,country) {
if(isUndefined(country)||country=="CN"){
return checkCnPhone(str);
}
}
/*
*<p>Description: ַǷֻĸ</p>
*@param str Ö·
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isNumberOrLetter(str) {
var rc=true;
if (isUndefined(str)){
rc=false;
} else {
for(i=0;i<str.length;i++) {
if(str.charAt(i)<'0'||(str.charAt(i)>'9' && str.charAt(i)<'A')||(str.charAt(i)>'Z' && str.charAt(i)<'a')||str.charAt(i)>'z'){
rc= false;
break;
}
}
}
return rc;
}
/*
*<p>Description: BP</p>
*@param str BP
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkBp(str) {
var rc=true;
if (isUndefined(str)){
rc=false;
} else {
for(i=0;i<str.length;i++) {
if((str.charAt(i)<'0' || str.charAt(i)>'9')&&(str.charAt(i)!='-'||str.charAt(i)!='*')){
rc= false;
break;
}
}
}
return rc;
}
/*
*<p>Description: ǷȫΪĸ</p>
*@param str Ö·
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isLetter(str){
var rc=true;
if (isUndefined(str)){
rc=false;
} else {
for(i=0;i<str.length;i++) {
if((str.charAt(i)>'Z' && str.charAt(i)<'a')||str.charAt(i)<'A' || str.charAt(i)>'z'){
rc=false;
break;
}
}
}
return rc;
}
/*
*<p>Description: </p>
*@param str
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkAge(age){
var rc=true;
if(isNumber(age)==false) {
rc= false;
} else if(age>=200) {
rc= false;
} else if(age<0){
rc=false;
}
return rc;
}
/*
*<p>Description: ǷȫΪո</p>
*@param str Ö·
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isSpace(str) {
for(i=0;i<str.length-1;i++) {
if(str.charAt(i)!=' ') {
if(str.charAt(i)!=0xa1||str.chatAt(i+1)!=0xa1)
return false;
else
i++;
}
}
if(str.charAt(i)!=' ')
return false;
return true;
}
/*
*<p>Description: Ú¸Ö®</p>
*@param year Úµ
*@param month ڵ·
*@param day
*@param d0
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function dateIsLargerThanDate(year, month, day, d0){
return isLargerThanNow(year, month, day,d0);
}
function isLargerThanNow(year, month, day, d0){
var rc=false;
if(!checkDateByFields(year,month,day)){
rc=false;
} else{
var d1=new Date(year,month-1,day);
if(d1.getTime()>d0.getTime()){
rc=true;
}
}
return rc;
}
/*
*<p>Description: ڵǰ֮</p>
*@param year Úµ
*@param month ڵ·
*@param day
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function dateIsLargerThanNow(year, month, day){
var Y = SERVER_SYSTEM_DATE.substring(6);
var M = SERVER_SYSTEM_DATE.substring(3,5);
var D = SERVER_SYSTEM_DATE.substring(0,2);
var nowdate=new Date(Y,M-1,D);
return isLargerThanNow(year,month,day,nowdate);
}
/*
*<p>Description: ȽǷһ£һ·false,򷵻true</p>
*@param date1 ĵһ
*@param date2 ĵڶ
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isDatesBetweenOneMonth(date1,date2){
var rc = true;
var y1 = date1.substring(6);
var m1 = date1.substring(3,5);
var d1 = date1.substring(0,2);
var y2 = date2.substring(6);
var m2 = date2.substring(3,5);
var d2 = date2.substring(0,2);
if(y1!=y2) {
if(y1>y2){
if(parseFloat(y2)+1!=y1) rc=false;
else if(parseFloat(m2)!=12||parseFloat(m1)!=1) rc=false;
else if(d2<=d1) rc=false;
}
if(y1<y2){
if(parseFloat(y1)+1!=y2) rc=false;
else if(parseFloat(m1)!=12||parseFloat(m2)!=1) rc=false;
else if(d1<=d2) rc=false;
}
}else {
if(m1>m2){
if(parseFloat(m2)+1!=m1) rc = false;
else if(d2<=d1) rc = false;
}
if(m1<m2){
if(parseFloat(m1)+1!=m2) rc = false;
else if(d1<=d2) rc = false;
}
}
return rc;
}
/*
*<p>Description: ǷΪǰĺϷ</p>
*@param str1 yyyy-MM-dd
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isPastDate(str1) {
if (str1 + "" == "undefined" || str1 == null){
return false;
}
var y,m,d;
var i;
i = str1.indexOf("-");
if (i == -1 || i == str1.length) { return false; }
y = str1.substring(0, i);
str1 = str1.substring(i + 1);
i = str1.indexOf("-");
if (i == -1 || i == str1.length) { return false; }
m = str1.substring(0, i);
d = str1.substring(i + 1);
return !dateIsLargerThanNow(y,m,d);
}
/*
*<p>Description: ıǷϷ</p>
*@param str ë±£
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkPolicyCode(str){
//XXX-X or XXXXX
var rc = true;
var len = 10;
if(!isUndefined(str)&&str!=""){
var aryStr = str.split("-");
if(aryStr.length==1){
if(str.length>10)
rc = false;
else{
if(!isNumber(str))
rc = false;
else{
str = preFillZero(str,len);
var checkNum = getCheckDigit(str);
if(checkNum!=str.charAt(9))
rc = false;
}
}
}else{
if(aryStr.length==2){
if(aryStr[0].length>9||aryStr[1].length!=1)
rc = false;
else{
if(!isNumber(aryStr[0])||!isNumber(aryStr[1]))
rc = false;
else{
var preStr = preFillZero(aryStr[0],len-1);
var checkNum = getCheckDigit(preStr);
if(checkNum!=aryStr[1])
rc = false;
}
}
}else{
rc = false;
}
}
}
return rc;
}
/*
*<p>Description: ͶǷϷ</p>
*@param str Ͷ
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkApplyCode(str){
//XX/XXXXX/XX
var rc = true;
if(!isUndefined(str)&&str!=""){
var aryStr = str.split("/");
if(aryStr.length==1){
if(str.length>10||str.length<8)
rc = false;
else
if(!isNumber(str.substring(str.length-7)))
rc = false;
}else{
if(aryStr.length==3){
if(aryStr[0].length>3||aryStr[0].length<1||aryStr[1].length!=5||aryStr[2].length!=2)
rc = false;
else
if(!isNumber(aryStr[1])||!isNumber(aryStr[2]))
rc = false;
}else{
rc = false;
}
}
}
return rc;
}
/*
*<p>Description: жһַǷַָͷ</p>
*@param str Ö·
*@param start ָͷַ
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function startWith(str,start){
try{
return (str.substring(0,start.length)==start);
}catch(ex){
return false;
}
}
/*
*<p>Description: жһַǷַָβ</p>
*@param str Ö·
*@param end ָβַ
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function endWith(str,end){
try{
return (str.substring(str.length-end.length)==end);
}catch(ex){
return false;
}
}
/*
*<p>Description: Ƿŵ룬ȥ˳ź088βΪŵ룬</p>
*@param code ı
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isGroupPolicyCode(code){
return endWith(getPureCode(code),"088");
}
/*
*<p>Description: ǷŵͶ룬ȥ˳ź050βΪŵͶ룬</p>
*@param code Ͷ
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isGroupApplyCode(code){
return endWith(getPureCode(code),"050");
}
/*
*<p>Description: ǷǷϹĸͶ룬ȥ˳ź001βΪǸͶ룬</p>
*@param code Ͷ
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isValidIndvApplyCode(code) {
return isValidApplyCode(code,"001");
}
/*
*<p>Description: ǷǷϹŵͶ룬ȥ˳ź050βΪŵͶ룬</p>
*@param code Ͷ
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isValidGroupApplyCode(code) {
return isValidApplyCode(code,"050");
}
/*
*<p>Description: ǷǷϹͶ룬ȥ˳ź001βΪǸͶ룬ǣ
ȥ˳ź050βΪŵͶ룬</p>
*@param code Ͷ
*@param suffix Ͷ׺:001ŵ:050
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isValidApplyCode(code,suffix) {
var result = false;
//ȡͶǰIJ
var pureCode = getPureCode(code);
//Ƿ10λ
result = pureCode.length == 15;
if (result == false) return false;
//Ç·È«
for(i=0; i < pureCode.length - 1; i++) {
if (pureCode.charAt(i)<'0' || pureCode.charAt(i)>'9'){
result = false;
break;
}
}
if (result == false) return false;
//ϱ򷵻
if (startWith(pureCode,"00")) return true;
//Ƿ(001 ŵ050)β
result = endWith(pureCode,suffix);
if (result == false) return false;
//У
//Ϻֳ97ǷΪ1
var crc;
if (startWith(pureCode,"0")) {
crc = pureCode.substring(1,10) + pureCode.substring(12,15) + pureCode.substring(10,12);
} else {
crc = pureCode.substring(0,10) + pureCode.substring(12,15) + pureCode.substring(10,12);
}
result = (parseInt(crc) % 97) == 1;
return result;
}
/*
*<p>Description: E-mailÇ·È·(validate email return boolean value)</p>
*@param str e-mail
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkEmail(str){
var CHAR_LETTER_NUMERIC=1;
var CHAR_UNDERLINE=2;
var CHAR_DOT=3;
var CHAR_AT=4;
var CHAR_DIVIDE=5;
var CHAR_END=6;
var CHAR_OTHER=7;
var DIV_CHAR=',';
var rc=true;
if (isUndefined(str)){
rc=false;
return rc;
} else if(str.length==0){
rc=true;
return rc;
}
var exit_flag=false;
var total_char=str.length;
var pos=0;
var cur_char;
var cur_status=0;
while((pos<=total_char) && (!exit_flag)){
if(pos==total_char){
cur_char=CHAR_END;
}
else if (str.charAt(pos)=='.'){
cur_char=CHAR_DOT;
}
else if (str.charAt(pos)==DIV_CHAR){
cur_char=CHAR_DIVIDE;
}
else if(str.charAt(pos)=='_'){
cur_char=CHAR_UNDERLINE;
}
else if(str.charAt(pos)=='@'){
cur_char=CHAR_AT;
}
else if(((str.charAt(pos)>='a')&&(str.charAt(pos)<='z'))||((str.charAt(pos)>='A')&&(str.charAt(pos)<='Z'))||((str.charAt(pos)>='0')&&(str.charAt(pos)<='9'))||(str.charAt(pos)=='-')){
cur_char=CHAR_LETTER_NUMERIC;
}
else{
cur_char=CHAR_OTHER;
}
switch (cur_status){
case -1://error
rc=false;
exit_flag=true;
break;
case 0://begin status
if((cur_char==CHAR_LETTER_NUMERIC)||(cur_char==CHAR_UNDERLINE)||(cur_char==CHAR_DOT)){
cur_status=1;
}
else{
rc=false;
cur_status=-1;
}
break;
case 1://user name
if((cur_char==CHAR_LETTER_NUMERIC)||(cur_char==CHAR_UNDERLINE)||(cur_char==CHAR_DOT)){
cur_status=1;
}
else if(cur_char==CHAR_AT){
cur_status=2;
}
else{
rc=false;
cur_status=-1;
}
break;
case 2://@
if(cur_char==CHAR_LETTER_NUMERIC){
cur_status=6;
}
else{
rc=false;
cur_status=-1;
}
break;
case 6://"."
if(cur_char==CHAR_LETTER_NUMERIC){
cur_status=6;
}
else if(cur_char==CHAR_DOT){
cur_status=3;
}
else{
rc=false;
cur_status=-1;
}
break;
case 3://fisrt domain name
if(cur_char==CHAR_LETTER_NUMERIC){
cur_status=4;
}
else{
rc=false;
cur_status=-1;
}
break;
case 4://not first domain name
if(cur_char==CHAR_LETTER_NUMERIC){
cur_status=4;
}
else if(cur_char==CHAR_DOT){
cur_status=3;
}
else if(cur_char==CHAR_DIVIDE){
cur_status=0;
}
else if(cur_char==CHAR_END){
cur_status=5;
}
else{
rc=false;
cur_status=-1;
}
break;
case 5://ok
rc=true;
exit_flag=true;
break;
default:
rc=false;
exit_flag=true;
break;
}
pos++;
}
return rc;
}
/*
*<p>Description: ƶ绰Ƿȷ(validate mobile phone return boolean value)</p>
*@param str ƶ绰
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkMobile(str,country) {
return checkPhone(str,country);
}
/*
*<p>Description: ַǷΪdouble(validate double number return boolean value)</p>
*@param str Ö·
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isDouble(str){
var rc=true;
oneDecimal=false;
if (isUndefined(str)){
rc=false;
} else{
for(i=0;i<str.length;i++){
ch=str.charAt(i);
if(i==0 && ch=='-'){
continue;
}
if(ch=="." && !oneDecimal){
oneDecimal=true;
continue;
}
if ((ch< "0") || (ch >'9')){
rc=false;
break;
}
}
}
return rc;
}
/*
*<p>Description: ַǷΪ(validate currency number return boolean value)</p>
*@param str Ö·
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCurrency(str){
var rc=true;
oneDecimal=false;
if (isUndefined(str)){
rc=false;
} else{
for(i=0;i<str.length;i++){
ch=str.charAt(i);
if(i==0 && ch=='-'){
continue;
}
if(ch=="." && !oneDecimal){
oneDecimal=true;
continue;
}
if (!((ch>= '0' && ch <='9')||ch==',')){
rc=false;
break;
}
}
}
return rc;
}
/*
*<p>Description: ոֵͣǷڸСֵͷΪvalue,date,number,currency
(validate if value < minValue and return boolean value)</p>
*@param str Ö·
*@param minstr Сֵ
*@param formatType
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkMinValue(str,minstr,formatType){
var rc = true;
if (isUndefined(str)){
rc = false;
}else{
if (formatType=="number"){
if(str!="" && checkCurrency(str)) {
if (parseFloat(numberTrim(str)) < parseFloat(numberTrim(minstr))) rc = false;
}
}
if (formatType=="currency"){
if(str!="" && checkCurrency(str)) {
if (parseFloat(numberTrim(str)) < parseFloat(numberTrim(minstr))) rc = false;
}
}
if (formatType=="date"){
if(str!="" && checkDate(str)) {
var formatStr = formatDate(str,"yyyy-MM-dd");
var formatMinStr = formatDate(minstr,"yyyy-MM-dd");
if (formatStr < formatMinStr) rc = false;
}
}
if (formatType=="value"){
if(str!="") {
if (parseFloat(numberTrim(str)) < parseFloat(numberTrim(minstr))) rc = false;
}
}
}
return rc;
}
/*
*<p>Description: ոֵͣǷСڸֵͷΪvalue,date,number,currency
(validate if value > maxValue and return boolean value)</p>
*@param str Ö·
*@param maxstr Öµ
*@param formatType
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkMaxValue(str,maxstr,formatType){
var rc = true;
if (isUndefined(str)){
rc = false;
}else{
if (formatType=="number"){
if(str!="" && checkCurrency(str)) {
if (parseFloat(numberTrim(str)) > parseFloat(numberTrim(maxstr))) rc = false;
}
}
if (formatType=="currency"){
if(str!="" && checkCurrency(str)) {
if (parseFloat(numberTrim(str)) > parseFloat(numberTrim(maxstr))) rc = false;
}
}
if (formatType=="date"){
if(str!="" && checkDate(str)) {
var formatStr = formatDate(str,"yyyy-MM-dd");
var formatMaxStr = formatDate(maxstr,"yyyy-MM-dd");
if (formatStr > formatMaxStr) rc = false;
}
}
if (formatType=="value"){
if(str!="") {
if (parseFloat(numberTrim(str)) > parseFloat(numberTrim(maxstr))) rc = false;
}
}
}
return rc;
}
/*
*<p>Description: ַǷΪnumber(validte number type return boolean value)</p>
*@param str Ö·
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function isNumber(str){
var rc=true;
if (isUndefined(str)){
rc=false;
} else if(str.length==0){
rc=false;
} else {
for(i=0;i<str.length;i++){
if(str.charAt(i)<'0' || str.charAt(i)>'9'){
rc=false;
break;
}
}
}
return rc;
}
/*
*<p>Description: ĵıͣȼУλ㷨ıǷϷ(validate the document code return boolean value)</p>
*@param str ı
*@param typeCode
*@param nLength Ö¸
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkDocCode(str,typeCode,nLength){
var rc=true;
var strLength = str.length;
if (isUndefined(str)){
rc=false;
} else {
//check code length
if(strLength != nLength) {
rc = false;
}else{
//check code type
var checkNum = new Array(9,7,3,2,8,7,4,3,2);
if(typeCode == 1){
//check code arithmetic
var check = 10-(str.charAt(0)*checkNum[0]+str.charAt(1)*checkNum[1]+str.charAt(2)*checkNum[2]+
str.charAt(3)*checkNum[3]+str.charAt(4)*checkNum[4]+str.charAt(5)*checkNum[5]+
str.charAt(6)*checkNum[6]+str.charAt(7)*checkNum[7]+str.charAt(8)*checkNum[8])%10;
if(check!=str.charAt(9)) rc = false;
}
}
}
return rc;
}
/*
*<p>Description: ijǷָ(validate the code length return boolean value)</p>
*@param str ı
*@param codeLength Ö¸
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkCodeLength(str,codeLength){
var rc=true;
if (isUndefined(str)){
rc=false;
} else {
if(str.length>codeLength) rc=false;
}
return rc;
}
/*
*<p>Description: ʺǷȷ(validate the bank account return boolean value)</p>
*@param str ʺ
*@return booleanÖµtrue or false
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkBankAccount(str){
var rc = true;
return rc;
}
/*
*<p>Description: ȽڵĴС</p>
*@param strDate1 ĵһ
*@param strDate2 ĵڶ
*@return 0È£
1strDate1strDate2
-1strDate1СstrDate2
2Ú·Ç·
3ì³£.
*<p>Create Time: 2004-07-01</p>
*@author: qiang.zhao
*@version 1.0
*/
function dateCompare(strDate1,strDate2){
var rc = 3;
if(isUndefined(strDate1)||strDate1==""||!checkDate(strDate1)
||isUndefined(strDate2)||strDate2==""||!checkDate(strDate2)){
rc = 2;
}else{
try{
var formatStr1 = formatDate(strDate1,"yyyy-MM-dd");
var formatStr2 = formatDate(strDate2,"yyyy-MM-dd");
if (formatStr1 < formatStr2) rc = -1;
if (formatStr1 > formatStr2) rc = 1;
if (formatStr1 == formatStr2) rc = 0;
}catch(ex){
rc = 3;
return rc;
}
}
return rc;
}
/*
*<p>Description: proposalNoÈ·</p>
*@param proposalNo proposalNo
*@return 0È·
-1NO.È´
-2λϵǰʱ䣻
-3кŲȷ.
*<p>Create Time: 2004-10-15</p>
*@author: qiang.zhao
*@version 1.0
*/
function checkProposalNo(proposalNo){
var rc = 0;
var dateLength = SERVER_SYSTEM_DATE.length;
var lastPart = SERVER_SYSTEM_DATE.substring(dateLength-2);
if(!isUndefined(proposalNo)&&proposalNo!=""){
if(proposalNo.length>10||proposalNo.length<8)
return -1;
if(proposalNo.substring(proposalNo.length-2)!=lastPart)
if(parseFloat(proposalNo.substring(proposalNo.length-2))+1!=lastPart||SERVER_SYSTEM_DATE.substring(3,5)!="01")
return -2;
if(!isNumber(proposalNo.substring(proposalNo.length-7,proposalNo.length-2)))
return -3;
}
return rc;
}
/**
* ǷȫΪո AllSpace
*/
function AllSpace(str) {
for(i=0;i<str.length-1;i++) {
if(str.charAt(i)!=' ') {
if(str.charAt(i)!=0xa1||str.chatAt(i+1)!=0xa1)
return false;
else
i++;
}
}
if(str.charAt(i)!=' ')
return false;
return true;
}
/**
* ǷȫΪո AllSpace
*/
function allSpace(str) {
return AllSpace(str);
}
/**
* // 1.ǷȫΪ
*/
function CheckNumber(str){
var rc=true;
if (str+"" == "undefined" || str == null){
rc=false;
} else if(str.length==0){
rc=false;
} else {
for(i=0;i<str.length;i++){
if(str.charAt(i)<'0' || str.charAt(i)>'9'){
rc=false;
break;
}
}
}
return rc;
}
function checkNumber(str){
return CheckNumber(str);
}
function getCheckDigit(str){
var checkNum = new Array(9,7,3,2,8,7,4,3,2);
//check code arithmetic
var check = 10-(str.charAt(0)*checkNum[0]+str.charAt(1)*checkNum[1]+str.charAt(2)*checkNum[2]+
str.charAt(3)*checkNum[3]+str.charAt(4)*checkNum[4]+str.charAt(5)*checkNum[5]+
str.charAt(6)*checkNum[6]+str.charAt(7)*checkNum[7]+str.charAt(8)*checkNum[8])%10;
if (check==10) check = 0;
return check;
}
/*
* æ ¹æ®è½¬æ¢åŽçš„formatæ ¼å¼ï¼Œæ‹†åˆ†å¹´ï¼Œæœˆï¼Œæ—¥
*/
function dateFormatAndValidate(textValue,format) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
var value = textValue;
var datePattern = format;
if ((value.length > 0) && (datePattern.length > 0)) {
var MONTH = "MM";
var DAY = "dd";
var YEAR = "yyyy";
var orderMonth = datePattern.indexOf(MONTH);
var orderDay = datePattern.indexOf(DAY);
var orderYear = datePattern.indexOf(YEAR);
if(orderYear == -1){
YEAR = "yy";
orderYear = datePattern.indexOf(YEAR);
}
if(orderDay == -1){
return validateDateWithoutDay(textValue,format);
}
if(orderYear == -1){
return validateDateWithoutYear(textValue,format);
}
if ((orderDay < orderYear && orderDay > orderMonth)) { // MM/dd/yyyy
var iDelim1 = orderMonth + MONTH.length; //0+2
var iDelim2 = orderDay + DAY.length; //3+2
var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); // '/'
var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); // '/'
if(CheckNumber(value)){
var m = textValue.substring(orderMonth, MONTH.length);
var d = textValue.substring((orderDay - 1), (orderDay - 1)+DAY.length);
var y = textValue.substring((orderYear - 2), (orderYear - 2)+YEAR.length);
value = m+delim1+d+delim2+y;
}
if (iDelim1 == orderDay && iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{"+MONTH.length+"})(\\d{"+DAY.length+"})(\\d{"+YEAR.length+"})$");
} else if (iDelim1 == orderDay) {
dateRegexp = new RegExp("^(\\d{"+MONTH.length+"})(\\d{"+DAY.length+"})[" + delim2 + "](\\d{"+YEAR.length+"})$");
} else if (iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{"+MONTH.length+"})[" + delim1 + "](\\d{"+DAY.length+"})(\\d{"+YEAR.length+"})$");
}
else {
dateRegexp = new RegExp("^(\\d{"+MONTH.length+"})[" + delim1 + "](\\d{"+DAY.length+"})[" + delim2 + "](\\d{"+YEAR.length+"})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidDate(matched[2], matched[1], matched[3])) {
if (i == 0) {
//focusField = form[oDate[x][0]];
}
//fields[i++] = oDate[x][1];
bValid = false;
}
} else {
if (i == 0) {
//focusField = form[oDate[x][0]];
}
//fields[i++] = oDate[x][1];
bValid = false;
}
} else if ((orderMonth < orderYear && orderMonth > orderDay)) { // dd/MM/yyyy
var iDelim1 = orderDay + DAY.length;
var iDelim2 = orderMonth + MONTH.length;
var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
if(CheckNumber(value)){
var d = textValue.substring(orderDay, DAY.length);
var m = textValue.substring((orderMonth-1), (orderMonth-1)+MONTH.length);
var y = textValue.substring((orderYear - 2), (orderYear - 2)+YEAR.length);
value = d+delim1+m+delim2+y;
}
if (iDelim1 == orderMonth && iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{"+DAY.length+"})(\\d{"+MONTH.length+"})(\\d{"+YEAR.length+"})$");
} else if (iDelim1 == orderMonth) {
dateRegexp = new RegExp("^(\\d{"+DAY.length+"})(\\d{"+MONTH.length+"})[" + delim2 + "](\\d{"+YEAR.length+"})$");
} else if (iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{"+DAY.length+"})[" + delim1 + "](\\d{"+MONTH.length+"})(\\d{"+YEAR.length+"})$");
} else {
dateRegexp = new RegExp("^(\\d{"+DAY.length+"})[" + delim1 + "](\\d{"+MONTH.length+"})[" + delim2 + "](\\d{"+YEAR.length+"})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidDate(matched[1], matched[2], matched[3])) {
bValid = false;
}
} else {
bValid = false;
}
} else if ((orderMonth > orderYear && orderMonth < orderDay)) {// yyyy/MM/dd
var iDelim1 = orderYear + YEAR.length;
var iDelim2 = orderMonth + MONTH.length;
var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
if(CheckNumber(value)){
var y = textValue.substring(orderYear, YEAR.length);
var m = textValue.substring((orderMonth-1), (orderMonth-1)+MONTH.length);
var d = textValue.substring((orderDay - 2), (orderDay - 2)+DAY.length);
value = y+delim1+m+delim2+d;
}
if (iDelim1 == orderMonth && iDelim2 == orderDay) {
dateRegexp = new RegExp("^(\\d{"+YEAR.length+"})(\\d{"+MONTH.length+"})(\\d{"+DAY.length+"})$");
} else if (iDelim1 == orderMonth) {
dateRegexp = new RegExp("^(\\d{"+YEAR.length+"})(\\d{"+MONTH.length+"})[" + delim2 + "](\\d{"+DAY.length+"})$");
} else if (iDelim2 == orderDay) {
dateRegexp = new RegExp("^(\\d{"+YEAR.length+"})[" + delim1 + "](\\d{"+MONTH.length+"})(\\d{"+DAY.length+"})$");
} else {
dateRegexp = new RegExp("^(\\d{"+YEAR.length+"})[" + delim1 + "](\\d{"+MONTH.length+"})[" + delim2 + "](\\d{"+DAY.length+"})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidDate(matched[3], matched[2], matched[1])) {
bValid = false;
}
} else {
bValid = false;
}
} else {
bValid = false;
}
}
window.event.srcElement.value = value;
return bValid;
}
/*
* æ ¹æ®è¾“入的formatæ ¼å¼ï¼Œæ‹†åˆ†å¹´æœˆ
* yyyy-MM,MM/yyyyç‰åªæœ‰å¹´å’Œæœˆï¼Œæ²¡æœ‰æ—¥æœŸçš„情况
*/
function validateDateWithoutDay(textValue,format) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
var value = textValue;
var datePattern = format;
if ((value.length > 0) &&(datePattern.length > 0)) {
var MONTH = "MM";
var YEAR = "yyyy";
var orderMonth = datePattern.indexOf(MONTH);
var orderYear = datePattern.indexOf(YEAR);
if(orderYear == -1){
YEAR = "yy";
orderYear = datePattern.indexOf(YEAR);
}
if (orderMonth < orderYear) { // MM/yyyy
var iDelim2 = orderMonth + MONTH.length;
var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
if(CheckNumber(value)){
var m = textValue.substring(orderMonth, MONTH.length);
var y = textValue.substring((orderYear - 1), (orderYear - 1)+YEAR.length);
value = m+delim2+y;
}
if (iDelim2 == orderYear) {
dateRegexp = new RegExp("^(\\d{"+MONTH.length+"})(\\d{"+YEAR.length+"})$");
} else {
dateRegexp = new RegExp("^(\\d{"+MONTH.length+"})[" + delim2 + "](\\d{"+YEAR.length+"})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidYM(matched[1], matched[2])) {
bValid = false;
}
} else {
bValid = false;
}
} else if (orderMonth > orderYear) { //yyyy/MM
var iDelim1 = orderYear + YEAR.length;
var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
if(CheckNumber(value)){
var y = textValue.substring(orderYear, YEAR.length);
var m = textValue.substring((orderMonth - 1), (orderMonth - 1)+ MONTH.length);
value = y+delim1+m;
}
if (iDelim1 == orderMonth) {
dateRegexp = new RegExp("^(\\d{"+YEAR.length+"})(\\d{"+MONTH.length+"})$");
} else{
//dateRegexp = new RegExp("^(\\d{"+YEAR.length+"})(\\d{"+MONTH.length+"})$");
dateRegexp = new RegExp("^(\\d{"+YEAR.length+"})[" + delim1 + "](\\d{"+MONTH.length+"})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
if (!isValidYM(matched[2], matched[1])) {
bValid = false;
}
} else {
bValid = false;
}
} else {
bValid = false;
}
}
window.event.srcElement.value = value;
return bValid;
}
/*
* æ ¹æ®è¾“入的formatæ ¼å¼ï¼Œæ‹†åˆ†å¹´æœˆ
* MM-dd,dd/MMç‰åªæœ‰å¹´å’Œæœˆï¼Œæ²¡æœ‰æ—¥æœŸçš„情况
*/
function validateDateWithoutYear(textValue,format){
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();
var value = textValue;
var datePattern = format;
if ((value.length > 0) &&(datePattern.length > 0)) {
var MONTH = "MM";
var DAY = "dd";
var orderMonth = datePattern.indexOf(MONTH);
var orderDay = datePattern.indexOf(DAY);
if (orderMonth < orderDay) { // MM/dd
var iDelim2 = orderMonth + MONTH.length;
var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
if(CheckNumber(value)){
var m = textValue.substring(orderMonth, MONTH.length);
var d = textValue.substring((orderDay - 1), (orderDay - 1)+DAY.length);
value = m+delim2+d;
}
if (iDelim2 == orderDay) {
dateRegexp = new RegExp("^(\\d{"+MONTH.length+"})(\\d{"+DAY.length+"})$");
} else {
dateRegexp = new RegExp("^(\\d{"+MONTH.length+"})[" + delim2 + "](\\d{"+DAY.length+"})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
//if (!isValidYM(matched[1], matched[2])) {
if(!isValidDate(matched[2], matched[1],0)){
bValid = false;
}
} else {
bValid = false;
}
} else if (orderMonth > orderDay) { // dd/MM
var iDelim1 = orderDay + DAY.length;
var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
if(CheckNumber(value)){
var d = textValue.substring(orderDay, DAY.length);
var m = textValue.substring((orderMonth - 1), (orderMonth - 1)+MONTH.length);
value = d+delim1+m;
}
if (iDelim1 == orderMonth) {
dateRegexp = new RegExp("^(\\d{"+DAY.length+"})(\\d{"+MONTH.length+"})$");
} else{
//dateRegexp = new RegExp("^(\\d{"+YEAR.length+"})(\\d{"+MONTH.length+"})$");
dateRegexp = new RegExp("^(\\d{"+DAY.length+"})[" + delim1 + "](\\d{"+MONTH.length+"})$");
}
var matched = dateRegexp.exec(value);
if(matched != null) {
//if (!isValidYM(matched[2], matched[1])) {
if(!isValidDate(matched[1], matched[2],0)){
bValid = false;
}
} else {
bValid = false;
}
} else {
bValid = false;
}
}
window.event.srcElement.value = value;
return bValid;
}
/*
* æ ¡éªŒæ—¥æœŸï¼ˆæœˆï¼Œæ—¥ï¼‰æ˜¯å¦ç¬¦åˆæ—¥æœŸçš„æ ¡éªŒè§„åˆ™
*/
function isValidDate(day, month, year) {
if (month < 1 || month > 12) {
return false;
}
if (day < 1 || day > 31) {
return false;
}
if ((month == 4 || month == 6 || month == 9 || month == 11) &&(day == 31)) {
return false;
}
if (month == 2) {
var leap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day == 29 && !leap)) {
return false;
}
}
return true;
}
function isValidYM(month, year) {
if (month < 1 || month > 12) {
return false;
}
return true;
}