本次升级博客公社的副产品。
/*
文 件 名:validate_form.js
函 数 名:validateForm
函数功能:验证提交的表单
调用方法:chin@blogchina.com
最后编辑:2004年9月24日
*/
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;
}
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=142908
|
- 评论人:23323
2007-08-15 11:20:25
|
|||
狗屎 狗屎 狗屎 |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:52
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:51
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:50
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:50
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:49
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:49
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:49
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:48
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:47
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:47
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:46
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:46
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:45
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:45
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:45
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:44
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:52:44
|
|||
狗屁不通, |
||||
|
- 评论人:匿名网友
2004-11-25 09:51:54
|
|||
|
||||
|
- 评论人:匿名网友
2004-11-10 11:52:35
|
|||
|
||||