我正在我的网页上使用寻呼,所以每按一个字母,它都会显示以该字符开头的记录。不过,我的问题是,我需要使用#来显示除字符以外的所有内容,以便它将包括以-1323开头的记录!,等等。我如何使用正则表达式来比较-
if left(selectedRecord, 1) <> "[^a-z]" then
我曾经使用存储过程来执行此操作,但由于在分页时复选框会出现问题,所以我只会拉取所有记录并像这样进行筛选-
response.Write "<tr"
if trim(request.Form("selected_Button")) = "#" then
elseif trim(request.Form("selected_Button")) <> lcase(trim(left(objRS("Movies"), 1))) and len(request.Form("selected_Button")) = 1 then
response.Write " style=""display:none;"""
end if
response.Write ">"
所以我的问题是如何修复我在存储过程中使用的-
select * from Movies where movies like '[^a-z]%'
分页按钮-
<center><input id="buttonStyle" type="submit" name="Selected_Button" value="#">
<% for i = 97 to 122 %>
<input id="buttonStyle" type="submit" name="Selected_Button" value="<%=CHR(i) %>">
<% next %></center>
<center></br><input id="buttonStyle" type="submit" name="Selected_Button" value="View All"></center>
编辑:
所以我自己找到了一个解决办法,但我想知道我是否可以做到这一点,而不必在字母表中循环-
response.Write "<tr"
if trim(request.Form("selected_Button")) = "#" then
for i = 97 to 122
if lcase(trim(left(objRS("Movies"), 1))) = chr(i) then
response.Write " style=""display:none;"""
end if
next
elseif trim(request.Form("selected_Button")) <> lcase(trim(left(objRS("Movies"), 1))) and len(request.Form("selected_Button")) = 1 then
response.Write " style=""display:none;"""
end if
response.Write ">"
最佳答案
你真正要问的是“如何识别第一个字符是字母?”答案是替换这个循环:
for i = 97 to 122
if lcase(trim(left(objRS("Movies"), 1))) = chr(i) then
response.Write " style=""display:none;"""
end if
next
取而代之的是:
firstChar = Left(UCase(Trim(objRS("Movies"))), 1)
If firstChar>="A" And firstChar<="Z" Then
response.Write " style=""display:none;"""
End If
简单的比较就行了。
关于html - 隐藏表行经典asp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6650190/