html表单判断非法字符,表单提交合法性检测

12.1.4  表单递交的合法性检测

在某些网站注册时,要求用户输入一定长度的用户名、密码和E-mail等。网站对用户名长度的检测和E-mail格式的检测就属于表单递交的合法性检测的范围。表单递交的合法性检测还包括输入信息是否包含某些字符、是否全是数字、是否全是字母等。下面定义了几个合法性检测的过程。

不允许包含指定字符的检测:

Function Validate(str)                                                               'str为要检测的字符串

Validate = True                                                                           '初始化

invalid = " "                                                                        '非法字符为空,也可以写为其他字符

if  InStr(str,invalid)>0 Then                                            'str字符串中存在invalid字符

Validate = False

End If

End Function

%>

只能输入数字的检测可以使用IsNumeric()函数来实现。

只能输入字母的检测:

Function CheckLetter(str)                                                        'str为要检测的字符串

CheckLetter = True                                                           '初始化

Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"   '初始化

for i=1 to len(str)                                                               'len()函数返回字符串长度

'Mid(str,i,1) 返回字符串str第i个字符,UCase()函数将该字符转换为大写形式

checkchar = UCase(Mid(str,i,1))

If (InStr(Letters,checkchar)<=0) Then 'checkchar在Letters中不存在

CheckLetter = False

Exit Function                                          '跳出Function过程

End If

Next                                                                            '结束For循环

End Function

%>

E-mail格式的合法性检测:

Function IsValidEmail(email)                                        '定义过程

Dim names, name, i, c

IsValidEmail = TRUE                                              '初始化

'使用@字符将email字符串分成几个子字符串并保存在names数组中

names = Split(email, "@")

'Ubound()函数返回数组names的最大下标,Ubound(names)<>1表明email字符串中存在

'的@字符并不是一个,所以email不是有效的邮件地址格式

If UBound(names) <> 1 Then

IsValidEmail = FALSE

Exit Function                                                   '跳出Function过程

End If

For Each name in names                                               '数组names中的每一个元素

If Len(name) <= 0 Then                                '字符串name内字符的数目

IsValidEmail = FALSE

Exit Function                                          '跳出Function过程

End If

For i = 1 To Len(name)                                'For循环

'Mid(name,i,1) 返回字符串name内第i个字符,LCase()函数将该字符转换成小写形式

c = LCase(Mid(name, i, 1))

'InStr()函数返回某字符串在另一字符串中第一次出现的位置。

'InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0表明字符c不在字符

'串"abcdefghijklmnopqrstuvwxyz_-."中。IsNumeric(c)判断字符c是否为数字

If InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 _

AND NOT IsNumeric(c) Then   '不支持中文格式地址

IsValidEmail = FALSE

Exit Function                                 '跳出Function过程

End If

Next                                                                  '结束For to循环

'left(name,1)返回字符串name最左边一个字符。Right(name,1)返回字符串name最右边一个字符

If Left(name, 1) = "." or Right(name, 1) = "." Then

IsValidEmail = FALSE

Exit Function                                          '跳出Function过程

End If

Next                                                                                    '结束For each循环

'email字符串中@右边部分不包含字符"."

If InStr(names(1), ".") <= 0 Then

IsValidEmail = FALSE

Exit Function

End If

'InStrRev()函数返回某字符串在另一个字符串中出现的从结尾计起的位置

'InStrRev(names(1), ".")得到字符"."在字符串names(1)中从结尾计起的位置

i = Len(names(1)) - InStrRev(names(1), ".")

'电子邮件最后一般为cn或com,长度为2或3

If i <> 2 AND i <> 3 Then

IsValidEmail = FALSE

Exit Function

End If

If InStr(email, "..") > 0 Then                          'email中存在字符串".."

IsValidEmail = FALSE

End If

End Function

%>

---------------------

表单递交合法性检测-只接受数字

如下代码加入HTML的区:

如下代码加入HTML的区,表单递交部分:

注意:表单的名字和文本框的名字要保持前后一样。

-----------------

表单递交合法性检测-只允许填写字母

表单递交合法性检测-只允许填写字母  由吾搜网06月28日自收集后精心整理,欢迎阅览!

吾搜网感谢《表单递交合法性检测-只允许填写字母  》教程原编写站长吾搜网整理,ASP编程教程的完善源自于你们无私的共享!

--------------------------------

这个可以写小数

"

这个只能写数字

"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值