답변:
var lowerCaseName = "Your Name".toLowerCase();
toLowerCase()
기능의 시간과 공간의 복잡성은 무엇입니까?
toLowerCase()
변수 를 호출하는보다 안전한 방법 은 (varName || '').toLowerCase()
;
String 객체 의 toLowerCase 또는 toLocaleLowerCase 메서드를 사용하십시오 . 차이점은 사용자 / 호스트의 현재 로캘을 고려 한다는 것입니다. 의 § 15.5.4.17에 따라 인 ECMAScript 언어 사양 (ECMA-262) , ...toLocaleLowerCase
toLocaleLowerCase
… 결과가 로케일 독립적 결과가 아닌 호스트 환경의 현재 로케일에 대한 올바른 결과를 산출한다는 점을 제외하면 toLowerCase와 정확히 동일하게 작동합니다. 해당 언어의 규칙이 일반 유니 코드 사례 매핑과 충돌하는 소수의 사례 (예 : 터키어)에는 차이가 있습니다.
예:
var lower = 'Your Name'.toLowerCase();
또한 toLowerCase
및 toLocaleLowerCase
함수는 모든 값 유형 에서 일반적으로 작동하도록 구현됩니다 . 따라서 String
객체 가 아닌 경우에도 이러한 기능을 호출 할 수 있습니다 . 그렇게하면 결과 문자열 값에서 각 문자의 대소 문자를 변경하기 전에 문자열 값으로 자동 변환됩니다. 예를 들어 다음 과 같은 날짜에 직접 신청할 수 있습니다toLowerCase
.
var lower = String.prototype.toLowerCase.apply(new Date());
효과적으로 다음과 같습니다.
var lower = new Date().toString().toLowerCase();
두 번째 형태는 일반적으로 단순성과 가독성으로 선호됩니다. 이전 버전의 IE에서는 첫 번째 버전이 null
가치를 발휘할 수 있다는 이점이있었습니다 . 적용의 결과 toLowerCase
나 toLocaleLowerCase
에 null
얻을 것이다 null
(그리고 오류 상태).
String.prototype.toLowerCase.apply(null)
반품 에 대한 부분 null
이 올바르지 않은 것 같습니다. 그것은 던졌습니다 TypeError
내가 그것을하려고 할 때 예외를.
toLocaleUpperCase () 또는 소문자 함수는 제대로 작동하지 않습니다.
예를 들어 내 시스템 인 Safari 4, Chrome 4 Beta, Firefox 3.5.x에서는 터키어 문자가 포함 된 문자열을 잘못 변환합니다.
브라우저는 navigator.language에 각각 "en-US", "tr", "en-US"로 응답합니다.
그러나 내가 찾을 수있는 한 브라우저에서 사용자의 Accept-Lang 설정을 얻는 방법은 없습니다.
모든 브라우저를 tr-TR 로케일을 선호하도록 구성했지만 Chrome에서만 문제가 발생합니다.
이 설정은 HTTP 헤더에만 영향을 미치지 만 JS를 통해 이러한 설정에 액세스 할 수 없습니다.
에서 모질라 문서 는 현재 로케일을 존중하면서 문자열 내의 문자 ...로 변환된다 "말했다.
대부분의 언어의 경우 ... "와 동일하게 반환됩니다.
터키어에 유효하다고 생각하지만 en 또는 tr로 구성된 것과 다르지 않습니다.
터키어에서는 "DİNÇ"을 "dinç"로, "DINÇ"을 "dınç"로 또는 그 반대로 변환해야합니다.
Accept-Language
그리고 navigator.language
두 개의 완전히 별도의 설정은 다음과 같습니다. Accept-Language
웹 페이지에서 원하는 언어에 대한 사용자의 선택 환경 설정을 반영합니다 (이 설정은 불행히도 JS에 액세스 할 수 없음). navigator.language
웹 브라우저의 어떤 현지화가 설치되었는지를 나타내며 일반적으로 어떤 용도로도 사용해서는 안됩니다. 이 두 값은 시스템 로케일과 관련이 없으며 toLocaleLowerCase()
수행 할 작업 을 결정하는 비트입니다 . 이는 브라우저 환경 설정 범위를 벗어난 OS 수준 설정입니다.
그냥에 대한 예 toLowerCase()
, toUpperCase()
아직 사용할 수없는 및 프로토 타입 toTitleCase()
또는toPropperCase()
String.prototype.toTitleCase = function() {
return this.split(' ').map(i => i[0].toUpperCase() + i.substring(1).toLowerCase()).join(' ');
}
String.prototype.toPropperCase = function() {
return this.toTitleCase();
}
var OriginalCase = 'Your Name';
var lowercase = OriginalCase.toLowerCase();
var upperCase = lowercase.toUpperCase();
var titleCase = upperCase.toTitleCase();
console.log('Original: ' + OriginalCase);
console.log('toLowerCase(): ' + lowercase);
console.log('toUpperCase(): ' + upperCase);
console.log('toTitleCase(): ' + titleCase);
2018 수정
toPropperCase
해야toProperCase
나는 많은 사람들이 있는지 관심을 지불하고 살만한 찾고 위한 strtolower()
자바 스크립트입니다. 그들은 다른 언어에서와 동일한 기능 이름을 기대하고 있습니다.이 게시물이 여기에 있습니다.
"SomE StriNg".toLowerCase()
다음은 PHP와 정확히 동일하게 작동하는 함수입니다 (PHP 코드를 js로 이식하는 사용자를 위해)
function strToLower (str) {
return String(str).toLowerCase();
}
+ ''
?
이 함수는 STRING 객체에서만 작동합니다.
예를 들어, 플러그인을 사용하고 있는데 왜 "extension.tolowercase is a function"JS 오류가 발생했는지 혼동되었습니다.
onChange: function(file, extension)
{
alert("extension.toLowerCase()=>" + extension.toLowerCase() + "<=");
"extension.toLowerCase는 함수가 아닙니다"라는 오류가 발생했습니다. 그래서이 코드를 사용해 보았습니다.
alert("(typeof extension)=>" + (typeof extension) + "<=");;
출력은 "(typeof extension) => object <="-그래서 하하, 입력에 대한 문자열 var를 얻지 못했습니다. 그래도 수정은 간단합니다-그냥 대담한 것을 문자열로 만드십시오! :
var extension = String(extension);
캐스트 후 extension.toLowerCase () 함수가 정상적으로 작동했습니다.
메소드 또는 함수 : toLowerCase (), toUpperCase ()
설명 :이 방법은 문자열이나 알파벳을 소문자에서 대문자로 또는 그 반대로 적용하는 데 사용됩니다. 예 : "and"에서 "AND".
대문자로 변환 :-예제 코드 :-
<script language=javascript>
var ss = " testing case conversion method ";
var result = ss.toUpperCase();
document.write(result);
</script>
결과 : 테스트 사례 변환 방법
소문자로 변환 :-예제 코드 :
<script language=javascript>
var ss = " TESTING LOWERCASE CONVERT FUNCTION ";
var result = ss.toLowerCase();
document.write(result);
</script>
결과 : 소문자 변환 기능 테스트
위의 예에서
toUpperCase() method converts any string to "UPPER" case letters.
toLowerCase() method converts any string to "lower" case letters.
옵션 1 : toLowerCase () 사용
var x = "ABC";
x=x.toLowerCase();
옵션 2 : 자신의 기능 사용
function convertToLowerCase(str) {
var result = ''
for (var i = 0; i < str.length; i++) {
var code = str.charCodeAt(i)
if (code > 64 && code < 91) {
result += String.fromCharCode(code + 32)
} else {
result += str.charAt(i)
}
}
return result
}
다음과 같이 호출하십시오.
x= convertToLowerCase(x);
직접 빌드하려는 경우 :
function toLowerCase(string) {
let lowerCaseString = "";
for (let i = 0; i < string.length; i++) {
//find ASCII charcode
let charcode = string.charCodeAt(i);
//if uppercase
if (charcode > 64 && charcode < 97){
//convert to lowercase
charcode = charcode + 32
}
//back to char
let lowercase = String.fromCharCode(charcode);
//append
lowerCaseString = lowerCaseString.concat(lowercase);
}
return lowerCaseString
}
javascript 문자열에서 내장 .toLowerCase () 메소드를 사용할 수 있습니다. 예 : var x = "Hello"; x.toLowerCase ();
시험
<input type="text" style="text-transform: uppercase"> //uppercase
<input type="text" style="text-transform: lowercase"> //lowercase