문자열이 있는데 해당 문자열의 유효성을 검사하여 '/' '\' '\'와 같은 특정 문자가 포함되지 않아야합니다. ';' 등 ... 한꺼번에 어떻게 할 수 있습니까?자바 스크립트 문자열 유효성 확인
답변
정규식으로 해결할 수 있습니다!
mystring = "hello"
yourstring = "bad & string"
validRegEx = /^[^\\\/&]*$/
alert(mystring.match(validRegEx))
alert(yourstring.match(validRegEx))
정규 표현식과 일치하는 문자열이 정상이면 반환하거나, 유효하지 않으면 null을 반환합니다.
설명 :
- 자바 스크립트 정규식 리터럴은 문자열과 같이 구분하지만, 슬래시 (
/
년대) 대신 따옴표 ("
년대)로되어있다. validRegEx
의 첫 번째 문자와 마지막 문자는 일부가 아닌 전체 문자열과 일치하도록하고 캐럿은 시작 부분에 달러 기호를 붙입니다.- 대괄호 (
[
및]
) 사이의 부분은 클래스에있는 한 모든 문자와 일치하는 문자 클래스입니다. 그 안에있는 첫 번째 문자 인 캐럿은 문자 클래스에 언급되지 않은 문자와 일치하도록 클래스가 무효화되었음을 의미합니다. 생략 된 경우 클래스는 지정된 문자와 일치합니다. ,- 다음 두 시퀀스 ,
\\
및\/
은 그 자체로 백 슬래시는 뭔가 다른 이스케이프 시퀀스 것이기 때문에 백 슬래시 이스케이프, 그리고 슬래시는 정규식의 끝에 도달했다고 생각으로 파서를 혼동 것 (정확히 문자열에서 따옴표를 이스케이프 처리하는 것과 유사 함). - 앰퍼샌드 (
&
)는 특별한 의미가 없으며 이스케이프 처리되지 않았습니다.
- 다음 두 시퀀스 ,
- 나머지 문자는 149) 클린의 별 (Kleene star (
*
)는 문자 클래스 앞으로 백 슬래시하거나 또는하지 않은 많은 문자를 먹을 수 있도록이, 0 번 이상 일치해야 덧붙일 어떤 것을 의미한다 앰퍼샌드. 아무 것도 찾지 못하면 아무 것도 포함하지 않습니다. 일치하는 문자열이 공백이 아닌지 확인하려면 플러스 (+
)로 바꿀 수 있습니다.
음 ... JavaScript regex에는'match' 함수가 없으며'test'만이 예외입니다. –
@LawrenceDol :'.match()'는'RegExp'가 아니라'String'에 사용됩니다. 당신이 그것을 시도 할 때 어떻게됩니까? – SingleNegationElimination
@Singe : 좋아, 그 미묘한 부분을 놓쳤다. 여기 정규식 관점에서 솔루션을 찾고 왔어. 감사. –
정규 표현식을 사용합니다.
Mozillla.org의 this guide을 참조하십시오. 이 article은 자바 스크립트에서 정규 표현식에 대한 좋은 소개를 제공합니다.
Here은 자바 스크립트 유효성 검사에서 좋은 기사입니다. 서버 측에서 유효성을 검사해야 함을 기억하십시오. Javascript 유효성 검사는 쉽게 피할 수 있으므로 SQL 주입 또는 XSS 공격을 방지하는 것과 같은 보안상의 이유로 절대 사용해서는 안됩니다.
정규 표현식을 사용할 수 있습니다. 예를 들어 문자열이 다음과 일치하는 경우 :
[\\/&;]+
다음은 올바르지 않습니다. 살펴보기 : http://www.regular-expressions.info/javascriptexample.html
아마도 regular expression을 사용할 수 있습니다.
당신은 정규 표현식으로, 시험 방법을 사용할 수 있습니다
function validString(input){
return !(/[\\/&;]/.test(input));
}
validString('test;') //false
당신 정규 표현식을 배울 수, 또는 (한 번에 하나 개의 문자를 확인하면 아마 간단하게) 당신이 수를 문자의 목록을 누른 다음 sanitize
어떤 종류의 문자열에서 각 하나를 제거하는 기능. 그럼
var myString = "An /invalid &string;";
var charList = ['/', '\\', '&', ';']; // etc...
function sanitize(input, list) {
for (char in list) {
input = input.replace(char, '');
}
return input
}
:
sanitize(myString, charList) // returns "An invalid string"
다른 사람이 당신이 정규 표현식으로이 문제를 해결뿐만 아니라 값의 서버 측을 확인하는 기억 대답 것처럼. 사용자가 JavaScript를 활성화했다고 보장 할 수는 없습니다. 절대 사용자 입력을 신뢰하지 마십시오!
- 1. 자바 스크립트 유효성 확인
- 2. 자바 스크립트 유효성 확인
- 3. 자바 스크립트 유효성 확인
- 4. 자바 스크립트 유효성 확인
- 5. 시간 유효성 확인 (자바 스크립트)
- 6. 자바 스크립트 양식 유효성 확인
- 7. 자바 스크립트 코드 유효성 확인
- 8. 자바 스크립트 유효성 확인 쿼리
- 9. AJAX/자바 스크립트 확인란 유효성 확인
- 10. 기본 자바 스크립트 루프/유효성 확인 질문
- 11. 서버/로컬에서 자바 스크립트 양식 유효성 확인
- 12. DFA 문자열 유효성 확인
- 13. 는 자바 스크립트 날짜 확인
- 14. 자바 스크립트 확인 상자
- 15. 자바 스크립트 유효성 검사
- 16. 자바 스크립트 유효성 검사
- 17. 자바 스크립트 유효성 검사
- 18. 자바 스크립트 유효성 검사
- 19. 자바 스크립트 문자열 라이브러리
- 20. 오브젝트에 자바 스크립트 문자열
- 21. 자바 스크립트 분할 문자열
- 22. 자바 스크립트 문자열 스캐너?
- 23. 문자열 매칭 (자바 스크립트)
- 24. 검색어 문자열 자바 스크립트
- 25. 자바 스크립트 문자열 조작
- 26. 자바 스크립트 문자열 조작
- 27. IXMLDOMDocument2 - 자바 스크립트 문자열
- 28. 자바 스크립트 문자열
- 29. 자바 스크립트 - 문자열 조작
- 30. 자바 스크립트 문자열 위치
허용되지 않는 문자의 차단 목록을 확인하는 대신 허용 된 문자 허용 목록과 비교하여 문자열을 확인하는 것이 좋습니다. 영숫자 문자 만 허용합니다. –