길이
length 속성은 문자열의 문자 수를 반환합니다.
length는 문자열의 UTF-16 인코딩을 기반으로 길이를 가져옵니다. 빈 문자열의 길이는 0입니다. 길이는 수정할 수 없습니다.
charAt()
charAt() 메서드는 지정된 위치의 문자를 반환합니다. JavaScript에는 문자열 유형과 다른 문자 데이터 유형이 없으므로 반환되는 문자는 길이가 1인 문자열입니다.
stringObject.charAt(색인)
매개변수 인덱스가 필요합니다. 문자열의 특정 위치, 즉 문자열의 문자 아래 첨자를 나타내는 숫자입니다. 문자열의 첫 번째 문자의 인덱스는 0입니다. 매개변수 인덱스가 0과 string.length 사이가 아닌 경우 이 메소드는 빈 문자열을 반환합니다.
참고: charAt() 메서드는 일부 비BMP(Basic-Multilingual-Plane) 문자를 지원하는 데 문제가 있을 수 있습니다. 참조: MDN
charCodeAt()
charCodeAt() 메서드는 지정된 위치에 있는 문자의 유니코드 인코딩을 반환합니다. 이 반환 값은 0 – 65535 사이의 정수입니다.
charCodeAt() 메서드는 charAt() 메서드와 비슷한 작업을 수행합니다. 단, 전자는 지정된 위치의 문자 인코딩을 반환하고 후자는 문자의 하위 문자열을 반환합니다.
stringObject.charCodeAt(색인)
매개변수 인덱스는 선택사항입니다. 문자열의 특정 위치, 즉 문자열의 문자 아래 첨자를 나타내는 숫자입니다. 문자열의 첫 번째 문자의 인덱스는 0입니다. index가 음수이거나 문자열 길이보다 크거나 같은 경우 charCodeAt()는 NaN을 반환합니다. 인덱스가 비어 있으면 기본값은 0입니다.
유니코드 인코딩 범위는 0~1,114,111입니다. 처음 128개의 유니코드 인코딩은 ASCII 문자 인코딩과 일치합니다. charCodeAt() 메서드가 반환하는 값은 항상 65536보다 작습니다. 더 높은 값을 가진 문자는 쌍으로 나타나 charCodeAt(i) 및 charCodeAt(i 1)과 동시에 검색해야 하기 때문입니다.
concat() – 더 이상 사용되지 않음
concat() 메서드는 두 개 이상의 문자열을 연결하는 데 사용됩니다.
stringObject.concat(stringX, stringX, …, stringX)
stringX 매개변수가 필요합니다. 문자열로 연결될 하나 이상의 문자열 개체입니다.
concat() 메서드는 모든 매개 변수를 문자열로 변환한 다음 이를 문자열 stringObject의 끝에 순서대로 연결하고 연결된 문자열을 반환합니다. stringObject 자체는 변경되지 않습니다.
이 방법 대신 " " 연산자를 사용하여 문자열을 연결하는 것이 더 효율적입니다. 참조: concat vs Join.
indexOf()
indexOf() 메서드는 문자열에서 지정된 문자열 값이 처음 나타나는 위치를 반환합니다.
stringObject.indexOf(검색값, fromindex)
searchvalue 매개변수는 필수이며 검색할 문자열 값을 지정합니다. fromindex 매개변수는 선택적 정수 매개변수입니다. 검색을 시작할 문자열의 위치를 지정합니다. 유효한 값은 0에서 stringObject.length – 1입니다. 이 매개변수를 생략하면 문자열의 첫 번째 문자부터 검색이 시작됩니다.
이 메소드는 stringObject 문자열을 처음부터 끝까지 검색하여 하위 문자열 검색 값이 포함되어 있는지 확인합니다. 검색 시작 위치는 문자열의 fromindex 또는 문자열의 시작 부분(fromindex가 지정되지 않은 경우)입니다. 검색값이 발견되면 검색값이 처음 나타나는 위치가 반환됩니다. stringObject의 문자 위치는 0부터 시작합니다.
참고: indexOf() 메서드는 대소문자를 구분합니다! 검색할 문자열 값이 나타나지 않으면 메서드는 -1을 반환합니다.
lastIndexOf()
lastIndexOf() 메서드는 문자열의 지정된 위치에서 뒤에서 앞으로 검색하여 지정된 문자열 값이 마지막으로 나타나는 위치를 반환할 수 있습니다.
lastIndexOf()와 indexOf()의 매개변수와 사용 방법은 뒤에서 앞으로 검색한다는 점만 제외하면 동일합니다.
console.log(str.indexOf("wo")) //6
console.log(str.indexOf("wo",2)) //6
console.log(str.indexOf("wo",10)) //12
console.log(str.lastIndexOf("wo")) //12
console.log(str.lastIndexOf("wo",2)) //-1
console.log(str.lastIndexOf("wo",10)) //6
localeCompare()
두 문자열을 로컬 특정 순서로 비교합니다.
stringObject.localeCompare(대상)
매개변수 target이 필요하며, 문자열은 로컬 특정 순서로 stringObject와 비교됩니다.
비교 결과 개수를 반환합니다. stringObject가 target보다 작으면 localeCompare()는 0보다 작은 숫자를 반환합니다. stringObject가 target보다 큰 경우 이 메서드는 0보다 큰 숫자를 반환합니다. 두 문자열이 동일하거나 로컬 데이터 정렬에 따른 차이가 없는 경우 이 메서드는 0을 반환합니다.
< 및 > 연산자를 문자열에 적용하면 로컬 데이터 정렬에 관계없이 문자의 유니코드 인코딩만 사용하여 문자열을 비교합니다. 이런 식으로 생성된 순서가 반드시 정확하지는 않습니다. 예를 들어, 스페인어에서 문자 "ch"는 일반적으로 문자 "c"와 "d" 사이에 나타나는 문자로 정렬됩니다. localeCompare() 메서드는 기본 로컬 데이터 정렬을 고려하여 문자열을 비교하는 방법을 제공합니다.
일부 고급 브라우저의 localeCompare() 매개변수는 로케일과 옵션도 지원합니다. 다음 코드와 MDN을 참조하세요. https://developer.mozilla.org/en-US/docs/Web/JavaScript / 참조/Global_Objects/String/localeCompare
일치()
match() 메서드는 문자열 내에서 지정된 값을 검색하거나 하나 이상의 정규 표현식과 일치하는 항목을 찾습니다.
이 메서드는 indexOf() 및 lastIndexOf()와 유사하지만 문자열 위치 대신 지정된 값을 반환합니다.
stringObject.match(regexp)
매개변수 regexp는 문자열이거나 정규식 RegExp 개체일 수 있습니다.
일치하는 결과를 저장하는 배열을 반환합니다. 이 배열의 내용은 regexp에 전역 플래그 g가 있는지 여부에 따라 달라집니다.
regexp에 g 플래그가 없으면 match() 메서드는 stringObject에서 일치 항목을 하나만 수행할 수 있습니다. 일치하는 텍스트가 없으면 match()는 null을 반환합니다. 그렇지 않으면 찾은 일치 텍스트에 대한 정보가 포함된 배열을 반환합니다. 배열의 0번째 요소에는 일치하는 텍스트가 포함되고 나머지 요소에는 정규식의 하위 표현식과 일치하는 텍스트가 포함됩니다. 이러한 일반 배열 요소 외에도 반환된 배열에는 두 개의 개체 속성이 포함되어 있습니다. index 속성은 stringObject에서 일치하는 텍스트의 시작 문자 위치를 선언하고, input 속성은 stringObject에 대한 참조를 선언합니다.
regexp에 플래그 g가 있으면 match() 메서드는 전역 검색을 수행하여 stringObject에서 일치하는 모든 하위 문자열을 찾습니다. 일치하는 하위 문자열이 없으면 null이 반환됩니다. 일치하는 하위 문자열이 하나 이상 발견되면 배열이 반환됩니다. 그러나 전역 일치에서 반환된 배열의 내용은 이전 배열 요소와 매우 다르며, 해당 배열 요소는 일치하는 모든 하위 문자열을 stringObject에 저장하며 index 속성이나 입력 속성이 없습니다.
g 플래그 없이 stringObject.match(regexp)를 호출하면 regexp.exec(stringObject)를 호출하는 것과 동일한 결과가 나옵니다. 전역 검색 모드에서 match()는 하위 표현식과 일치하는 텍스트에 대한 정보를 제공하지 않으며 일치하는 각 하위 문자열의 위치를 선언하지도 않습니다. 전역적으로 검색된 정보가 필요한 경우 RegExp.exec()를 사용할 수 있습니다.
참고: 문자열이 정규식과 일치하는지 확인하려면 regexp.test(string)를 사용하세요. 한 번만 일치시키려면 string.match(regexp) 대신 regexp.exec(string)을 사용하세요. .
console.log(str.match("world")); //["world", index: 6, 입력: "Hello world!"]
console.log(str2.match(/d /g)); //["1", "2", "3"]
대체()
replace() 메서드는 문자열의 일부 문자를 다른 문자로 바꾸거나 정규식과 일치하는 하위 문자열을 바꾸는 데 사용됩니다.
stringObject.replace(regexp/substr, 교체)
regexp/substr 매개변수가 필요합니다. 대체할 하위 문자열이나 패턴을 지정하는 RegExp 개체입니다. 값이 문자열이면 먼저 RegExp 개체로 변환되지 않고 리터럴 리터럴 패턴으로 검색됩니다. 매개변수 교체가 필요합니다. 문자열 값입니다. 텍스트를 바꾸거나 대체 텍스트를 생성하는 기능을 지정합니다.
메서드는 정규식의 첫 번째 또는 모든 일치 항목을 대체 항목으로 대체하여 얻은 새 문자열을 반환합니다.
문자열 stringObject의 replacement() 메서드는 검색 및 바꾸기 작업을 수행합니다. 정규식과 일치하는 stringObject의 하위 문자열을 찾고 해당 하위 문자열을 대체 문자열로 바꿉니다. 정규식에 전역 플래그 g가 있는 경우, replacement() 메서드는 일치하는 모든 하위 문자열을 바꿉니다. 그렇지 않으면 일치하는 첫 번째 하위 문자열만 바꿉니다.
대체는 문자열이나 함수일 수 있습니다. 문자열인 경우 각 일치 항목이 문자열로 대체됩니다. 그러나 대체되는 $ 문자에는 특별한 의미가 있습니다. 아래와 같이 패턴 일치에서 얻은 문자열이 대체에 사용되는 것을 보여줍니다.
1.$$ – $
2.$` - 일치하는 하위 문자열 왼쪽에 있는 텍스트입니다.
3.$' - 일치하는 하위 문자열 오른쪽에 있는 텍스트입니다.
4.$& - 정규 표현식과 일치하는 하위 문자열입니다.
5.$number - 정규 표현식의 숫자 번째 하위 표현식과 일치하는 텍스트입니다.
대체는 함수일 수 있으며, 이 경우 일치하는 항목마다 함수가 호출되고 반환되는 문자열이 대체 텍스트로 사용됩니다. 이 함수의 첫 번째 매개변수는 패턴과 일치하는 문자열입니다. 다음 인수는 패턴의 하위 표현식과 일치하는 문자열이며 이러한 인수는 0개 이상 있을 수 있습니다. 다음 매개변수는 일치가 발생하는 stringObject의 위치를 선언하는 정수입니다. 마지막 매개변수는 stringObject 자체입니다.
//여러 번 교체
var str2 = "안녕하세요 Microsoft! 그리고 Microsoft! 그리고 Microsoft! 또는 Microsoft!";
console.log(str2.replace(/Microsoft/g, "Google")); //안녕하세요 Google! 그리고 Google!
//문자 변환
var str3 = "Doe, John";
console.log(str3.replace(/(w )s*, s*(w )/, "$2 $1")) //John Doe
var str4 = '"a", "b"';
console.log(str4.replace(/"([^"]*)"/g, "'$1'")); //'a', 'b'
//기능 사용
var str5 = 'aaa bbb ccc';
console.log(str5.replace(/bw b/g, 함수(단어)){
return word.substring(0,1).toUpperCase() word.substring(1);}
)); //아아 Bbb Ccc
검색()
search() 메서드는 문자열에서 지정된 하위 문자열을 검색하거나 정규식과 일치하는 하위 문자열을 검색하는 데 사용됩니다.
stringObject.search(regexp)
매개변수 regexp는 stringObject에서 검색해야 하는 하위 문자열이거나 검색해야 하는 RegExp 개체일 수 있습니다.
stringObject에서 정규식과 일치하는 첫 번째 하위 문자열의 시작 위치를 반환합니다. 일치하는 하위 문자열이 없으면 -1이 반환됩니다.
참고: search() 메서드는 전역 일치를 수행하지 않으며 g 플래그를 무시합니다. 또한 정규식의 lastIndex 속성을 무시하고 항상 문자열의 시작 부분에서 검색합니다. 즉, 항상 stringObject의 첫 번째 일치 위치를 반환합니다.
일치하는 문자열이 있는지만 알고 싶다면 search() 메서드를 사용하는 것은 test() 메서드를 사용하는 것과 거의 동일합니다. 더 많은 정보를 얻으려면 match() 및 exec() 메서드를 사용할 수 있지만 효율성이 낮습니다.
슬라이스()
slice() 메소드는 문자열의 특정 부분을 추출하고 추출된 부분을 새로운 문자열로 반환합니다.
stringObject.slice(시작, 끝)
start 매개변수는 추출할 세그먼트의 시작 인덱스입니다. 음수인 경우 이 매개변수는 문자열 끝부터 시작하는 위치를 지정합니다. 즉, -1은 문자열의 마지막 문자를 나타내고, -2는 마지막에서 두 번째 문자를 나타내는 식입니다.
매개변수 end는 추출할 조각의 끝 바로 뒤에 오는 인덱스입니다. 이 매개변수를 지정하지 않으면 추출할 하위 문자열에는 원래 문자열의 처음부터 끝까지의 문자열이 포함됩니다. 이 매개변수가 음수이면 문자열 끝에서부터의 위치를 지정합니다.
메서드는 새 문자열을 반환합니다. 시작(포함)부터 끝(제외)까지 stringObject 문자열의 모든 문자를 포함합니다.
참고: String 개체의 Slice(), substring() 및 substr() 메서드는 모두 문자열의 지정된 부분을 반환할 수 있습니다. 모든 상황에서 Slice() 메서드를 사용하는 것이 좋습니다.
하위 문자열()
지원 중단되었으므로 대신 Slice()를 사용하는 것이 좋습니다.
substr()
지원 중단되었으므로 대신 Slice()를 사용하는 것이 좋습니다.
toLocaleLowerCase()
권장되지 않습니다. 터키어와 같은 일부 언어에서만 유용합니다. 대신 toLowerCase()를 사용하는 것이 좋습니다.
toLocaleUpperCase()
권장되지 않습니다. 터키어와 같은 일부 언어에서만 유용합니다. 대신 toUpperCase()를 사용하는 것이 좋습니다.
toLowerCase()
toLowerCase() 메서드는 문자열을 소문자로 변환하는 데 사용됩니다.
toUpperCase()
toUpperCase() 메서드는 문자열을 대문자로 변환하는 데 사용됩니다.
문자열 객체에는 HTML 태그에 대한 다양한 메서드도 있습니다: 앵커(), big(), 깜박임(), 볼드(), 고정(), 글꼴 색상(), 글꼴 크기(), 기울임꼴(), 링크(), 작은 (), 파업(), 하위(), sup(). 그들은 주로 String 객체에 대해 HTML 형식을 수행합니다. 요즘에는 이를 적용하는 사람이 거의 없으며 사용을 권장하지 않습니다.
방법 시연 예:
var txt="Hello World!"
document.write("
Big: " txt.big() "
")소형: " txt.small() "
")document.write("
Bold: " txt.bold() "
")기울임꼴: " txt.italics() "
")document.write("
Blink: " txt.blink() " (IE에서는 작동하지 않음)
")고정됨: " txt.fixed() "
")공격: " txt.strike() "
")document.write("
Fontcolor: " txt.fontcolor("Red") "
")글꼴 크기: " txt.fontsize(16) "
")document.write("
소문자: " txt.toLowerCase() "
")대문자: " txt.toUpperCase() "
")document.write("
하위 첨자: " txt.sub() "
")위 첨자: " txt.sup() "
")document.write("
링크: " txt.link("http://www.w3school.com.cn") "
")