자바 스크립트는 대소 문자를 구분하지 않고 문자열 비교
이 질문에 이미 답변이 있습니다.
JavaScript를 사용하여 일부 문자열을 확인해야하지만 대소 문자 구분이 문제를 일으 킵니다. 예를 들면
if('abc'=='ABC')
{
return true;
}
단어의 의미가 같더라도 if 루프 안에 들어 가지 않습니다. 나는 그것이 예를 들어 어떻게 의미하는지 데이터를 모르기 때문에 tolower 절도 사용할 수 없습니다.
if('aBc'=='abC')
{
return true;
}
jquery로 할 수 있다면 JS 함수를 작성하는 방법.
두 인수를 모두 소문자로 만들 수 있으며 이렇게하면 항상 대소 문자를 구분하지 않는 검색으로 끝납니다.
var string1 = "aBc";
var string2 = "AbC";
if (string1.toLowerCase() === string2.toLowerCase())
{
#stuff
}
정규 표현식을 사용하는 또 다른 방법 (이것은 Zachary의 대답보다 더 정확합니다) :
var string1 = 'someText',
string2 = 'SometexT',
regex = new RegExp('^' + string1 + '$', 'i');
if (regex.test(string2)) {
return true;
}
RegExp.test ()는 true 또는 false를 반환합니다.
또한 '^'(문자열의 시작을 의미)를 시작 부분에 추가하고 '$'(문자열의 끝을 의미)를 끝에 추가하여 'sometext'가 유일한 텍스트 인 경우에만 정규 표현식이 일치하는지 확인하십시오. stringToTest에서. 정규식이 포함 된 텍스트를 찾는 경우에는 그대로 두어도됩니다.
string.toLowerCase () 메서드를 사용하는 것이 더 쉬울 수 있습니다.
그래서 ... 정규 표현식은 강력하지만 작동 방식을 이해하는 경우에만 사용해야합니다. 이해하지 못하는 것을 사용하면 예기치 않은 일이 발생할 수 있습니다.
정규 표현식 '튜토리얼'이 많이 있지만 대부분은 특정 제품을 푸시하려는 것으로 보입니다. 다음은 괜찮은 튜토리얼처럼 보입니다 ... 당연히 PHP를 사용하기 위해 작성되었지만 그렇지 않으면 좋은 초보자 튜토리얼 인 것 같습니다 : http://weblogtoolscollection.com/regex/regex.php
정규식을 테스트하는 데 좋은 도구 인 것 같습니다. http://gskinner.com/RegExr/
string.match ()를 사용할 수도 있습니다.
var string1 = "aBc";
var match = string1.match(/AbC/i);
if(match) {
}
이 시도...
if(string1.toLowerCase() == string2.toLowerCase()){
return true;
}
또한 루프가 아니라 코드 블록입니다. 루프는 일반적으로 반복되지만 (한 번만 실행될 수도 있음) 코드 블록은 반복되지 않습니다.
toLowerCase를 사용하지 않는 것에 대한 귀하의 메모를 읽었지만 문제가되는 이유를 알 수 없습니다.
참고URL : https://stackoverflow.com/questions/4919403/javascript-compare-strings-without-being-case-sensitive
'development' 카테고리의 다른 글
SVN에서 업데이트 할 때 항상 (강제) 로컬 변경 사항을 덮어 쓸 수 있습니까? (0) | 2020.12.03 |
---|---|
쉘 스크립트를 사용하여 XML을 구문 분석하는 방법은 무엇입니까? (0) | 2020.12.03 |
ValueError : 파이썬 형식의 길이가 0 인 필드 이름 (0) | 2020.12.03 |
Core Data에서 기존 개체를 업데이트하는 방법은 무엇입니까? (0) | 2020.12.03 |
iPad Mini 화면 크기 다루기 (0) | 2020.12.03 |