2017년 4월 18일 화요일

[jsp,java]유효성 검사


유효성 패턴 Character Classes


구조 해석
[abc] a or b or c
[^abc] not a or b or c(NOT)
[a-zA-Z] a to z or A to Z
[0-4[6-8]] one of "0 1 2 3 4 6 7 8(OR?)"
[0-9&&[3-5]] one of 3 4 5 (AND)
[0-9&&[^345]] one of 0 1 2 6 7 8 9(NAND)

"검사대상문자열".matches("유효성검사문자열"); 로 확인 할 수 있다 고 하는데 나는 이게 먹히드라
"검사대상문자열".matches("(.*)["유효성검사문자열"](.*)")


문자열 유효성 검사를 jsp에서 배우긴 했는데, 뭔지 잘 이해도 안됬고, 응용도 못하는데 이제 필요해져서 찾아봤음

역시 자바도 사용 할 수 있는듯 하다.
응용하면 회원가입 양식 따위의 유효성 검사를 할 수 있을 것.


방금 찾다보니 특수문자의 경우에는 몇가지 예외사항이 있기때문에,  숙지해야할 사항이 몇가지 있다.
기본 자바에서 설명하는 몇 단어들은 :
\'  작은따움표는
\'' 큰따움포
\\역슬레쉬등..
참조사이트 : https://www.tutorialspoint.com/java/java_characters.htm

그 이외, 상기 사이트에 설명이 없는 케이스들은:

+ $  | ,의 경우에는[] 줘야한다 
[^[*]]  == not * 경우


\\ 필요한 경우는 ( ) { } [ ] ^ 
[^\\^]


이런 작업이 필요없는 문자는
!# % & @ ` ; : -  < > ~ '

띄어쓰기는 \\s+

위에 두 케이스를 없에고싶어서 삽질했는데 결국은 이거네
.matches("(.*)[[!#%&@`;:-<>~'][+$|][\\^(){}][\\[][\\]][.,\"\\\'\"\\s+]](.*)")  matches 안의 구간에서 띄어쓰기 하면 작동안되요

댓글 없음:

댓글 쓰기