📄 class_client_check.asp
字号:
<%
'===================================================================
'= ASP FILENAME : /class/class_client_check.asp
'= CREATED TIME : 2005-8-6 7:26
'= LAST MODIFIED: 2005-8-6 7:26
'= VERSION INFO : CCASP Framework Ver 2.0.1 ALL RIGHTS RESERVED BY www.cclinux.com
'= DESCRIPTION : 客户端脚本校验自动生成
'= Usage:
'== 是否进行客户端数据校验
'= Dim GBL_blnClientDataCheck = True
'= ReDim arrDataChk(1)
'= 固定长度
'= arrDataChk(0) = Array("DT_FIX_LENGTH" , "iptName" , "下载资源名称",1,4)
'= 正整数
'= arrDataChk(1) = Array("DT_PLUS_INT" , "iptDes" , "下载资源描述")
'= 文本
'= DT_CONTENT
'= Change Log :
'= 2006-7-20 增加字母数字下划线校验CheckAsc
'===================================================================
Class classClientChk
Private strOutJsCode
Public strForm
'===================================================================
'= Description : Class's initialization
'= Time : Created At 2005-8-6 7:28
'= Modify :
'===================================================================
Private Sub Class_Initialize()
End Sub
'===================================================================
'= Description : Class's terminate
'= Time : Created At 2005-8-6 7:30
'= Modify :
'===================================================================
Private Sub Class_Terminate()
End Sub
'== 长度校验
Private Function CheckLength(strName,strShow,intMin,intMax)
Dim strJsCode
strJsCode = ""
If intMin = intMax Then
strJsCode = "if (" & strForm & "." & strName & ".value.length != " & intMin & " ) " & chr(13) & chr(10)
strJsCode = strJsCode & "{" & chr(13) & chr(10)
strJsCode = strJsCode & " alert('" & strShow & "的长度必须为" & intMin & "位');" & chr(13) & chr(10)
strJsCode = strJsCode & " if (" & strForm & "." & strName & ".type != 'hidden')" & chr(13) & chr(10)
strJsCode = strJsCode & " " & strForm & "." & strName & ".focus();" & chr(13) & chr(10)
strJsCode = strJsCode & " return false;" & chr(13) & chr(10)
strJsCode = strJsCode & "}" & chr(13) & chr(10)
Else
strJsCode = "if (" & strForm & "." & strName & ".value.length < " & intMin & " || " & strForm & "." & strName & ".value.length > " & intMax & " ) " & chr(13) & chr(10)
strJsCode = strJsCode & "{" & chr(13) & chr(10)
strJsCode = strJsCode & " alert('" & strShow & "的长度必须为" & intMin & "--" & intMax & "位');" & chr(13) & chr(10)
strJsCode = strJsCode & " if (" & strForm & "." & strName & ".type != 'hidden')" & chr(13) & chr(10)
strJsCode = strJsCode & " " & strForm & "." & strName & ".focus();" & chr(13) & chr(10)
strJsCode = strJsCode & " return false;" & chr(13) & chr(10)
strJsCode = strJsCode & "}" & chr(13) & chr(10)
End If
CheckLength = strJsCode
End Function
'== 正整数
Function CheckPlusNumber(strName,strShow)
Dim strJsCode
strJsCode = ""
strJsCode = strJsCode & CheckReg(REG_PLUS_NUMBER,strName,strShow,true)
strJsCode = strJsCode & "if (" & strForm & "." & strName & ".value < 0 || " & strForm & "." & strName & ".value > " & adMaxIntValue & ")" & chr(13) & chr(10)
strJsCode = strJsCode & "{" & chr(13) & chr(10)
strJsCode = strJsCode & " alert('" & strShow & "的取值范围应该为0 -- " & adMaxIntValue & "');" & chr(13) & chr(10)
strJsCode = strJsCode & " if (" & strForm & "." & strName & ".type != 'hidden')" & chr(13) & chr(10)
strJsCode = strJsCode & " " & strForm & "." & strName & ".focus();" & chr(13) & chr(10)
strJsCode = strJsCode & " return false;" & chr(13) & chr(10)
strJsCode = strJsCode & "}" & chr(13) & chr(10)
strJsCode = strJsCode & chr(13) & chr(10)
CheckPlusNumber = strJsCode
End Function
'== 非法字符
Function CheckValidity(strName,strShow)
Dim strJsCode
strJsCode = ""
strJsCode = strJsCode & CheckReg(adValidity,strName,strShow,true)
CheckValidity = strJsCode
End Function
'== 正则表达式校验
Function CheckReg(strType,strName,strShow,bolFlag)
Dim strJsCode : strJsCode = ""
strJsCode = " var check = /" & strType & "/;" & chr(13) & chr(10)
If bolFlag = true Then
strJsCode = strJsCode & " if (!check.test(" & strForm & "." & strName & ".value))" & chr(13) & chr(10)
Else
strJsCode = strJsCode & " if (check.test(" & strForm & "." & strName & ".value))" & chr(13) & chr(10)
End If
strJsCode = strJsCode & "{" & chr(13) & chr(10)
strJsCode = strJsCode & " alert('" & strShow & "输入有误');" & chr(13) & chr(10)
'== 处理隐藏表单
strJsCode = strJsCode & " if (" & strForm & "." & strName & ".type != 'hidden')" & chr(13) & chr(10)
strJsCode = strJsCode & " " & strForm & "." & strName & ".focus();" & chr(13) & chr(10)
strJsCode = strJsCode & " return false;" & chr(13) & chr(10)
strJsCode = strJsCode & "}" & chr(13) & chr(10)
CheckReg = strJsCode
End Function
'== 枚举校验
Function CheckEnum(strName,strShow,strEnum)
Dim strJsCode : strJsCode = ""
strEnum = "," & strEnum & ","
strJsCode = "var " & strName & "Str = '" & strEnum & "';" & chr(13) & chr(10)
strJsCode = strJsCode & "var " & strName & "Num = " & strName & "Str.indexOf(','+" & strForm & "." & strName & ".value+',');" & chr(13) & chr(10)
strJsCode = strJsCode & " if (" & strName & "Num < 0) " & chr(13) & chr(10)
strJsCode = strJsCode & "{" & chr(13) & chr(10)
strJsCode = strJsCode & " alert('" & strShow & "输入不在可接受的范围');" & chr(13) & chr(10)
strJsCode = strJsCode & " if (" & strForm & "." & strName & ".type != 'hidden')" & chr(13) & chr(10)
strJsCode = strJsCode & " " & strForm & "." & strName & ".focus();" & chr(13) & chr(10)
strJsCode = strJsCode & " return false;" & chr(13) & chr(10)
strJsCode = strJsCode & "}" & chr(13) & chr(10)
CheckEnum = strJsCode
End Function
'== 正数取值范围校验
Function ChkIntBetween(strName,strShow,intMin,intMax)
Dim strJsCode
strJsCode = ""
'== 校验是否为数字
strJsCode = CheckReg(REG_NUMBER,strName,strShow,true)
If intMin = intMax Then
strJsCode = strJsCode & "if (" & strForm & "." & strName & ".value != " & intMin & " ) " & chr(13) & chr(10)
strJsCode = strJsCode & "{" & chr(13) & chr(10)
strJsCode = strJsCode & " alert('" & strShow & "的取值必须为" & intMin & "');" & chr(13) & chr(10)
strJsCode = strJsCode & " if (" & strForm & "." & strName & ".type != 'hidden')" & chr(13) & chr(10)
strJsCode = strJsCode & " " & strForm & "." & strName & ".focus();" & chr(13) & chr(10)
strJsCode = strJsCode & " return false;" & chr(13) & chr(10)
strJsCode = strJsCode & "}" & chr(13) & chr(10)
Else
strJsCode = strJsCode & "if (" & strForm & "." & strName & ".value < " & intMin & " || " & strForm & "." & strName & ".value > " & intMax & " ) " & chr(13) & chr(10)
strJsCode = strJsCode & "{" & chr(13) & chr(10)
strJsCode = strJsCode & " alert('" & strShow & "的取值范围必须为" & intMin & "--" & intMax & "');" & chr(13) & chr(10)
strJsCode = strJsCode & " if (" & strForm & "." & strName & ".type != 'hidden')" & chr(13) & chr(10)
strJsCode = strJsCode & " " & strForm & "." & strName & ".focus();" & chr(13) & chr(10)
strJsCode = strJsCode & " return false;" & chr(13) & chr(10)
strJsCode = strJsCode & "}" & chr(13) & chr(10)
End If
ChkIntBetween = strJsCode
End Function
'== ID参数校验
Function CheckId(strName,strShow)
CheckId = CheckReg(REG_PLUS_NUMBER,strName,strShow & "ID参数",True)
End Function
'== Email校验
Function CheckEmail(strName,strShow)
CheckEmail = CheckReg(REG_EMAIL,strName,strShow ,True)
End Function
'== Url校验
Function CheckUrl(strName,strShow)
CheckUrl = CheckReg(REG_URL,strName,strShow ,True)
End Function
'== 字母/数据/下划线校验
Function CheckAsc(strName,strShow)
Dim strJsCode
strJsCode = ""
strJsCode = strJsCode & "var check = /" & REG_ASC & "/;" & chr(13) & chr(10)
strJsCode = strJsCode & "if (!check.test(" & strForm & "." & strName & ".value))" & chr(13) & chr(10)
strJsCode = strJsCode & "{" & chr(13) & chr(10)
strJsCode = strJsCode & " alert(""" & strShow & """ + ""必须为英文,数字和下划线"");" & chr(13) & chr(10)
strJsCode = strJsCode & " " & strForm & "." & strName & ".focus();" & chr(13) & chr(10)
strJsCode = strJsCode & " return false;" & chr(13) & chr(10)
strJsCode = strJsCode & "}" & chr(13) & chr(10)
CheckAsc = strJsCode
End Function
'== 客户端数据校验主函数
Public Function ClientDataCheck(strTheForm,arrDataChk)
Dim strOutJs
Dim i
'== 是否进行客户端数据校验
If GBL_blnClientDataCheck = False Then
ClientDataCheck = ""
Exit Function
End If
strForm = strTheForm
strOutJs = ""
For i = LBound(arrDataChk) To UBound(arrDataChk)
'== 非法字符校验
'strOutJs = strOutJs & CheckValidity(arrDataChk(i)(1),arrDataChk(i)(2))
strOutJs = strOutJs & chr(13) & chr(10)
Select Case arrDataChk(i)(0)
Case "DT_FIX_LENGTH" :
strOutJs = strOutJs & CheckLength(arrDataChk(i)(1),arrDataChk(i)(2),arrDataChk(i)(3),arrDataChk(i)(4))
Case "DT_CONTENT" :
Case "DT_INT_BETWEEN":
strOutJs = strOutJs & ChkIntBetween(arrDataChk(i)(1),arrDataChk(i)(2),arrDataChk(i)(3),arrDataChk(i)(4))
Case "DT_PLUS_INT":
strOutJs = strOutJs & CheckPlusNumber(arrDataChk(i)(1),arrDataChk(i)(2))
Case "DT_EMAIL":
strOutJs = strOutJs & CheckEmail(arrDataChk(i)(1),arrDataChk(i)(2))
Case "DT_URL":
strOutJs = strOutJs & CheckUrl(arrDataChk(i)(1),arrDataChk(i)(2))
Case "DT_ENUM":
strOutJs = strOutJs & CheckEnum(arrDataChk(i)(1),arrDataChk(i)(2),arrDataChk(i)(3))
Case "DT_ID" :
strOutJs = strOutJs & CheckId(arrDataChk(i)(1),arrDataChk(i)(2))
Case "DT_ASC" :
strOutJs = strOutJs & CheckAsc(arrDataChk(i)(1),arrDataChk(i)(2))
Case Else strOutJs = strOutJs
End Select
Next
ClientDataCheck = strOutJs
End Function
End Class
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -