-1

特殊文字と英数字も許可しない正規表現を 1 つ使用しました。だから私はこれで試しました

String targetPage="Prestige$%$lll.jsp";
  String pattern1 = Pattern.compile(".*[0-9].*").toString();
  String pattern2 = Pattern.compile(".*[$!*&+,:;=?@#%'()^|-].*").toString();
  System.out.println("**** pattern1 is "+pattern1);
  System.out.println("**** pattern2 is "+pattern2);
  System.out.println("****"+targetPage.matches(pattern1));
   System.out.println("**&&&**"+targetPage.matches(pattern2));
 if ( targetPage == null || targetPage.matches(pattern1) || targetPage.matches(pattern2) || "".equals(targetPage) || (!targetPage.endsWith(".jsp") && !targetPage.endsWith(".xml")) ) 
 response.sendRedirect("/register.jsp");

その正常に動作します。しかし、上記のような特定のシナリオでは、 $%$ が失敗することを意味します。

どんな助けでも大歓迎です

ありがとう

4

1 に答える 1