作者:瑞铭与我_109 | 来源:互联网 | 2023-05-16 04:32
如果允许用户名是"0~9" "a~z" "A~Z" 和下划线"_",
Vbscript代码怎写?
5 个解决方案
name_unit=mid(username,1,1)
if not (((asc(name_unit)>64 and asc(name_unit)<91)) or ((asc(name_unit)>96 and asc(name_unit)<123))) then
displayInfo("请正确输入用户名")
response.End
end if
for i=1 to name_length
name_unit=mid(username,i,1)
if asc(name_unit)<48 then
displayInfo("请正确输入用户名")
response.End
end if
if asc(name_unit)>57 and asc(name_unit)<65 then
displayInfo("请正确输入用户名")
response.End
end if
if asc(name_unit)>90 and asc(name_unit)<97 and asc(name_unit)<>95 then
displayInfo("请正确输入用户名")
response.End
end if
if asc(name_unit)>122 then
displayInfo("请正确输入用户名")
response.End
end if
next
name1=lcase(name)
for aa=1 to len(name1)
dd=mid(name1,aa,1)
if dd>="!"and dd<"A" or dd>="["and dd<="`" or dd>="{"and dd<="~"or dd=" " then
Response.Redirect ("sorry.asp?id=请输好!")
end if
next
不如用Javascript!
function IsDigit(cCheck)
{
return (('0'<=cCheck) && (cCheck<='9'));
}
function IsAlpha(cCheck)
{
return ((('a'<=cCheck) && (cCheck<='z')) || (('A'<=cCheck) && (cCheck<='Z')))
}
function IsaNull(cCheck)
{
return(cCheck != " ")
}
function checkform()
{
strUserID = document.sform1.username.value;
if (strUserID == "")
{
alert("请输入注册名");
document.sform1.username.focus();
return false;
}
for (nIndex=0; nIndex {
cCheck = strUserID.charAt(nIndex);
if (!(IsDigit(cCheck) || IsAlpha(cCheck) || cCheck=='-' || cCheck=='_' || cCheck=='.'))
{
alert("用户名只能使用字母、数字以及-、_和.,并且不能使用中文");
document.sform1.username.focus();
return false;
}
}
}
给你一最短的:
dim userid,objRegExp
userid="Go_Rush" 'userid=request.form("userid")
Set objRegExp=new RegExp
objRegExp.IgnoreCase =true
objRegExp.Global=True
'改变{1,}中的值还可以限制用户名的长度,如:{3,8}是限制最短3个字符,最长8个字符, 下例是最短一个字符,最长任意多个字符
objRegExp.Pattern="^[A-Za-z0-9_]{1,}$"
if not objRegExp.Test(userid) then response.write "请输入正确的用户名"
set objregexp=nothing