2015年3月23日 星期一

asp判斷是否為英文或數字

方法一:
<%
'Response.Write(isValidate("ac4中123") & "<br>")
'Response.Write(isValidate("ac4123") & "<br>")


Function isValidate(str)
  Dim re
  Set re = new RegExp
  re.Pattern = "[^a-zA-Z0-9]"
  isValidate = re.Test(str)
End Function
%>




方法二:

function ContainsChtString(str)
  dim x,tmp
  tmp = false
  for x = 1 to len(str)
    if asc(mid(str,x,1)) > 32 and asc(mid(str,x,1)) < 127 then
      tmp = true
      exit for
    end if
  next
  ContainsChtString= tmp
end function


if ContainsChtString(Name) then
  error_mag = "字串包含特殊符號、數字和大小寫英文字"
end if


原先查到的資料是判斷
 asc(mid(str,x,1)) < 0 ,ascii碼小於零,即中文字,但後來發現,中文字中間夾英數字,就判斷不出來了。

所以改寫成 asc(mid(str,x,1)) > 32 and asc(mid(str,x,1)) < 127
判斷包含特殊符號、數字和大小寫英文字


================================

如果要判斷是否為數字
IsNumeric()

================================




沒有留言:

張貼留言