我正在我的网页上使用寻呼,所以每按一个字母,它都会显示以该字符开头的记录。不过,我的问题是,我需要使用#来显示除字符以外的所有内容,以便它将包括以-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) %>">&nbsp;
    <% 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/

10-09 03:44