-
UID:2
-
- 注册时间2005-01-04
- 最后登录2024-07-30
- 在线时间128小时
-
- 发帖600
- 搜Ta的帖子
- 精华47
- PB3246
- 威望526
- 贡献值187
- 交易币124
- 好评度279
-
访问TA的空间加好友用道具
|
JavaScript验证表单函数 - function validateForm() {
- var i, j, vObj, vType, vCon, eNum = 0, eMsg = '', cItemNum = 0, fErrMsg='', re;
- var args = validateForm.arguments;
- for (i = 0; i < (args.length-2); i += 3)
- {
- vObj = args[i];
- vType = args[i+1];
- vCon = args[i+2];
- switch (vType)
- {
- case 'FitRegEx':
- re = vCon;
- if ( vObj.value.search( re ) != 0 )
- {
- eNum ++;
- eMsg += genErrMsg( eNum,vObj,'的值不符合要求' );
- }
- break;
- case 'AntiRegEx':
- re = vCon;
- if ( vObj.value.search( re ) >= 0 )
- {
- eNum ++;
- eMsg += genErrMsg( eNum,vObj,'的值不符合要求' );
- }
- break;
- case 'NotBlank':
- if ( vObj.value == '' )
- {
- eNum ++;
- eMsg += genErrMsg(eNum,vObj,'没有填写');
- }
- break;
- case 'IsNumeric':
- if ( isNaN(vObj.value) || vObj.value == '' )
- {
- eNum ++;
- eMsg += genErrMsg( eNum,vObj,'不是数字' );
- }
- break;
- case 'IsInt':
- re = /^[0-9]+$/;
- if ( vObj.value.search(re) != 0 || vObj.value.substring(0,1) == 0 )
- {
- eNum ++;
- eMsg += genErrMsg( eNum,vObj,'不是整数' );
- }
- break;
- case 'IsEmail':
- re = /^[a-zA-Z0-9_]+@[a-zA-Z0-9_]+\.[a-zA-Z0-9_]+$/;
- if ( vObj.value.search(re) != 0 )
- {
- eNum ++;
- eMsg += genErrMsg( eNum,vObj,'不是有效Email地址' );
- }
- break;
- case 'IsPlainText':
- re = /<[a-zA-Z]+[^>]*>/;
- if ( vObj.value.search(re) >= 0 )
- {
- eNum ++;
- eMsg += genErrMsg( eNum,vObj,'不是纯文本,含有HTML标签' );
- }
- break;
- case 'LengthRange':
- vc_min = parseFloat( vCon.substring( 0,vCon.indexOf("to") ) );
- vc_max = parseFloat( vCon.substring( vCon.indexOf("to")+2 ) );
- if ( vObj.value.length < vc_min || vObj.value.length > vc_max )
- {
- eNum ++;
- eMsg += genErrMsg( eNum,vObj,'的长度不在指定范围内' );
- }
- break;
- case 'NumericRange':
- vc_min = parseFloat( vCon.substring( 0,vCon.indexOf("to") ) );
- vc_max = parseFloat( vCon.substring( vCon.indexOf("to")+2 ) );
- if ( vObj.value < vc_min || vObj.value > vc_max )
- {
- eNum ++;
- eMsg += genErrMsg( eNum,vObj,'的值不在指定范围内' );
- }
- break;
- case 'IsEqualTo':
- if ( vObj.value != vCon.value )
- {
- eNum ++;
- eMsg += genErrMsg( eNum,vObj,'和第一次输入的不相等' );
- }
- break;
- case 'CheckLimit':
- vc_min = parseFloat( vCon.substring( 0,vCon.indexOf("to") ) );
- vc_max = parseFloat( vCon.substring( vCon.indexOf("to")+2 ) );
- if ( vc_max == -1 )//vc_max=-1表示没有上限
- {
- vc_max = vObj.length;
- }
- for (j = 0;j < vObj.length;j ++)
- {
- if ( vObj[j].checked )
- {
- cItemNum ++;
- }
- }
- if ( cItemNum < vc_min || cItemNum > vc_max )
- {
- eNum ++;
- eMsg += genErrMsg( eNum,vObj[0],'的选中项目数不在指定范围内' );
- }
- break;
- case 'SelectValid':
- if ( vObj.value == '' )
- {
- eNum ++;
- eMsg += genErrMsg(eNum,vObj,'没有选中有效项');
- }
- break;
- }
- }
- if ( eNum )
- {
- fErrMsg = '抱歉,您提交的数据存在' + eNum + '处错误:\n';
- fErrMsg += '==============================\n';
- fErrMsg += eMsg;
- fErrMsg += '==============================\n';
- fErrMsg += '\n请修改后再提交,谢谢!';
- alert( fErrMsg );
- return false;
- }
- }
- function genErrMsg(eTimes,vObj,eType)
- {
- eMsg = eTimes + '. [ ' + vObj.title + ' ] ' + eType + '。\n';
- return eMsg;
- }
|