JavaScript의 문자열 연산
JavaScript의 문자열 작업
1. 개요
문자열은 사용자 입력 데이터를 처리할 때, DOM을 읽거나 설정할 때, 객체 속성을 조작할 때 거의 모든 곳에 있습니다. 쿠키, 그리고 물론 훨씬 더 많은 것들이 있습니다… JavaScript의 핵심 부분은 문자열 분할, 문자열 대소문자 변경, 하위 문자열 작업 등과 같은 일반적인 문자열 작업을 위한 속성 및 메서드 집합을 제공합니다.
대부분의 최신 브라우저는 정규 표현식의 강력한 이점을 활용할 수도 있습니다. 정규 표현식을 사용하면 수많은 문자열 조작 작업이 크게 단순화되지만 다소 가파른 학습 곡선을 극복해야 하기 때문입니다. 여기서는 주로 문자열 자체에 대한 몇 가지 작업을 소개합니다. 정규식은 향후 에세이에서 다루겠습니다.
2. 문자열 생성
문자열을 생성하는 방법에는 여러 가지가 있습니다. 가장 간단한 방법은 문자열 변수에 할당할 수 있는 문자 집합을 따옴표로 묶는 것입니다.
var myStr = "Hello, String!";
큰따옴표나 작은따옴표를 사용하여 문자열을 묶을 수 있지만 문자열을 구분하는 따옴표 쌍은 다음과 같아야 합니다. 동일하며 혼합할 수 없습니다.
var myString = "Fluffy is a Pretty cat.';과 같은 문은 불법입니다.
에서는 두 종류의 따옴표를 사용할 수 있으므로 하나의 Embed 사용과 같은 특정 작업이 간단해집니다. 또 다른 것:
document.write("
위 스크립트에서 문자열을 여러 개 생성했지만, 본질적으로는 실제 문자열 객체가 아니고, 정확히 말하면 문자열 유형의 값입니다. 문자열 개체를 생성하려면 다음 문을 사용할 수 있습니다. var strObj = new String("Hello, String!");
typeof 연산자를 사용하여 위의 내용을 확인합니다. myStr의 유형은 문자열이고 strObj의 유형은 객체입니다.
문자열의 길이를 알고 싶다면 해당 길이 속성인
을 사용하여 문자열의 길이를 알아보세요. : string.charAt(index);
3. 문자열 연결
문제:
두 개 또는 여러 문자열을 결합하여 하나의 큰 문자열로 이어집니다. string
해결 방법:
매우 간단합니다. "+"를 사용하여 두 문자열을 "추가"하면 됩니다.
var longString = "One Piece " + "한 조각 더 추가.";
여러 문자열을 하나의 문자열로 합치려면 "+=" 연산자를 사용할 수도 있습니다:
var result = "";
result += "내 이름은 Anders입니다"
result += " 그리고 내 나이는 25입니다"; 🎜> 문자열에 개행 문자를 추가하려면 이스케이프 문자 "n"을 사용해야 합니다.
var verifyString = "마지막 응답을 입력하지 않았습니다. " +
"question.nnSubmit form 어쨌든?";
var verifyValue = verify(confirmString);
하지만 이 방법은 다음과 같은 상황에서만 사용할 수 있습니다. 경고 및 확인 대화 상자. 이 텍스트가 HTML 콘텐츠로 표시되면 유효하지 않습니다. 이 경우 "
"를 사용하여 교체하세요. :
var htmlString = "문자열의 첫 번째 줄.
문자열의 두 번째 줄.";
document.write(htmlString );
String 개체는 "+"와 동일한 기능을 완성하는 concat() 메서드도 제공합니다.
string.concat( value1, value2, ...)
그러나 , concat() 메소드는 분명히 "+"만큼 직관적이고 간결하지 않습니다.
4. 문자열의 하위 문자열에 액세스
질문:
문자열 일부의 복사본을 얻습니다.
해결책:
substring() 또는 Slice() 메서드(NN4+, IE4+)를 사용하세요. 구체적인 사용법은 아래에 설명되어 있습니다.
substring()의 프로토타입은 다음과 같습니다. string.substring(from, to)
from의 첫 번째 매개변수는 원래 문자열에서 부분 문자열의 시작 위치를 지정합니다(0부터 시작하는 인덱스). 두 번째 매개변수는 선택사항입니다. 이는 원래 문자열(0 기반 인덱스)에서 하위 문자열의 끝 위치를 지정합니다. 일반적으로 이 매개변수가 생략되면 하위 문자열이 끝으로 이동합니다. 원래 문자열.
실수로 from 매개변수가 to 매개변수보다 커지면 어떻게 되나요? JavaScript는 하위 문자열의 시작 및 끝 위치를 자동으로 조정합니다. 즉, substring()은 항상 두 매개변수 중 더 작은 매개변수에서 시작하여 더 큰 매개변수로 끝납니다. 그러나 시작 위치의 문자는 포함되지만 끝 위치의 문자는 포함되지 않습니다.
var fullString = "모든 개에게는 자신의 하루가 있습니다.";
var section = fullString.substring(0, 4) // 섹션은 "Ever"입니다. ".
section = fullString.substring(4, 0); // 섹션은 "Ever"이기도 합니다.
section = fullString.substring(1, 1); // 섹션은 빈 문자열입니다.
section = fullString.substring(-2, 4); // 섹션은 "Ever"이며 fullString.substring(0, 4)과 동일
Slice()의 프로토타입은 다음과 같습니다. string.slice(start, end)
start 매개변수는 하위 문자열의 시작 위치를 나타냅니다. 음수인 경우 시작으로 이해될 수 있습니다. 예를 들어 - 3은 아래에서 세 번째부터 시작함을 의미합니다. 매개변수 end는 끝 위치를 나타냅니다. start와 마찬가지로 음수일 수도 있으며 그 의미는 끝에서 두 번째 숫자의 끝을 나타냅니다. Slice()의 매개변수는 음수일 수 있으므로 substring()보다 더 유연하지만 덜 허용됩니다. start가 end보다 크면 빈 문자열이 반환됩니다(예는 생략됨).
또 다른 메소드는 substr()이며, 프로토타입은 string.substr(start, length)
프로토타입에서 매개변수의 의미를 볼 수 있으며, start는 시작 위치를 나타냅니다. length는 하위 문자열의 길이를 나타냅니다. JavaScript 표준에서는 이 방법의 사용을 권장하지 않습니다.
5. 문자열 대소문자 변환
문제:
페이지에 도시와 같은 사용자 입력 정보를 받는 텍스트 상자가 있으며 이에 따라 사용합니다. 도시마다 다르게 처리되므로, 비교하기 전에 대소문자 변환을 수행하는 것이 가장 좋으므로 변환 후의 상황만 고려하면 됩니다. 이 데이터는 데이터베이스에 저장되며 데이터베이스는 이러한 경우 대문자만 허용하므로 문자열의 대소문자 변환을 고려해야 합니다.
해결책:
toLowerCase() 및 toUpperCase() 메서드 사용:
var city = "ShanGHai";
city = city.toLowerCase(); // 현재 도시는 "상하이"입니다.
6. 두 문자열이 동일한지 확인
질문:
예를 들어 사용자의 입력 값을 알려진 문자열과 비교하려는 경우
해결 방법:
먼저 모든 사용자 입력 값을 대문자(또는 소문자)로 변환한 다음 행 비교를 수행합니다. :
var name = document.form1.txtUserName.value.toLowerCase();
if(name == "urname" )
{
// 명령문은 여기에 위치합니다.
}
JavaScript에는 두 개의 항등 연산자가 있습니다. 하나는 이전 버전과 완벽하게 호환되는 "=="입니다. 두 피연산자 유형이 일치하지 않으면 어느 시점에서 자동으로 피연산자에 대한 유형 변환을 수행합니다.
var strA = "사랑해요!";
var strB = new String("사랑해요!");
이 두 변수는 동일한 문자 시퀀스를 포함하지만 데이터 유형이 다릅니다. 전자는 문자열이고 후자는 객체입니다. "==" 연산자를 사용하면 JavaScript는 특정 상황에서 두 변수가 동일함을 감지하기 위해 다양한 평가를 시도합니다. . 따라서 다음 표현식은 true로 평가됩니다. strA == strB.
두 번째 연산자는 "strict" "==="로, 평가 중에 관대하지 않고 유형 변환을 수행하지 않습니다. 따라서 strA === strB 표현식은 두 변수가 모두 동일한 값을 보유하더라도 false로 평가됩니다.
때로는 코드 논리에서 두 값이 동일하지 않은지 여부를 확인해야 합니다. 여기에는 "!=" 및 strict "!=="라는 두 가지 옵션이 있습니다. "==" 및 "==="로 변경됩니다.
토론:
"==" 및 "!="는 평가할 때 일치하는 값을 찾기 위해 최선을 다하지만 비교하기 전에 여전히 명시적인 유형을 만들고 싶을 수도 있습니다. "help로 변환 "그들은 자기 일을 해요. 예를 들어, 사용자의 입력 값(문자열)이 숫자와 같은지 확인하려는 경우 "=="를 사용하여 유형 변환을 완료할 수 있습니다.
if(document.form1.txtAge. value == someNumericVar ) { ... }
미리 변환할 수도 있습니다:
if(parseInt(document.form1.txtAge.value) == someNumericVar) { ... }
강력한 유형의 프로그래밍 언어(예: C#, Java 등)에 더 익숙하다면 여기에서 습관(유형 변환)을 계속하면 프로그램의 가독성도 향상됩니다. .
주목해야 할 것 중 하나는 컴퓨터의 지역 설정입니다. 문자열을 비교하기 위해 "<" 및 ">"를 사용하면 JavaScript는 이를 유니코드로 비교하지만 분명히 웹을 검색하는 사람들은 텍스트를 유니코드로 읽지 않습니다. 예를 들어 스페인어에서는 " ch"는 "c"와 "d" 사이의 문자로 정렬됩니다. localeCompare()는 기본 로케일의 문자 조합을 사용하는 방법을 제공합니다.
var strings; // 초기화되었다고 가정하여 정렬할 문자열 배열
strings.sort(function(a,b) { return a.localeCompare(b) }); // sort() 메서드를 호출하여 정렬
7. 문자열 검색
질문:
문자열에 다른 문자열이 포함되어 있는지 확인합니다.
해결책:
문자열의 indexOf() 메서드 사용:
strObj.indexOf(subString[, startIndex])
strObj가 판단됩니다. 문자열, subString은 strObj에서 검색할 하위 문자열, startIndex는 선택 사항으로 검색 시작 위치를 나타냅니다(0부터 시작하는 인덱스). startIndex가 생략되면 strObj의 처음부터 검색합니다. startIndex가 0보다 작으면, 그런 다음 0부터 시작하고, startIndex가 최대 인덱스보다 크면 최대 인덱스부터 시작합니다.
indexOf()는 strObj에서 subString의 시작 위치를 반환하고, 찾을 수 없으면 -1을 반환합니다. 스크립트에서는 다음과 같이 사용할 수 있습니다:
if(largeString.indexOf(shortString) != -1)
{
/ / 포함된 경우 그에 따라 처리합니다.
문자열에 다른 문자열이 두 번 이상 포함될 수 있으며, 이 경우 두 번째 매개변수 startIndex가 유용할 수 있습니다. 다음과 같이 이 함수는 문자열에 다른 문자열이 포함된 횟수를 찾는 방법을 보여줍니다.
function countInstances(mainStr, subStr)
{
var count = 0;
var offset = 0;
do
offset = mainStr .indexOf(subStr, offset > }
}while(offset != -1)
반환 횟수;
}
String 개체에는 indexOf(), lastIndexOf()에 해당하는 메서드가 있습니다.
strObj.lastIndexOf(substring[, startindex])
strObj는 판단할 문자열, subString은 strObj에서 검색할 하위 문자열, startIndex는 선택 사항으로, startIndex가 생략된 경우 검색 시작 위치(0부터 시작하는 인덱스)를 나타냅니다. , strObj의 끝부터 검색하고, startIndex가 0보다 작으면 Starts at 0부터 검색합니다. startIndex가 최대 인덱스보다 크면 최대 인덱스에서 시작합니다. 이 메서드는 오른쪽에서 왼쪽으로 검색하여 strObj에서 마지막으로 나타나는 subString을 반환합니다. 찾을 수 없으면 -1을 반환합니다.
8. 유니코드 값과 문자열의 문자 간 변환
질문:
문자의 유니코드 인코딩 값을 구하고 그 반대의 경우도 마찬가지입니다.
해결책:
문자의 유니코드 인코딩을 얻으려면 다음과 같이 정의된 string.charCodeAt(index) 메서드를 사용할 수 있습니다.
strObj.charCodeAt( index)
index는 strObj 객체에서 지정된 문자의 위치(0 기반 인덱스)이며 반환 값은 0~65535 사이의 16비트 정수입니다. 예:
var strObj = "ABCDEFG";
var code = strObj.charCodeAt(2) // 문자 'C'의 유니코드 값은 67
index로 지정한 인덱스에 문자가 없으면 반환값은 NaN입니다. 유니코드 인코딩을 문자로 변환하려면 String.fromCharCode() 메서드를 사용하세요. 이는 String 개체의 "정적 메서드"이므로 필요하지 않습니다. 문자열 예: String.fromCharCode(c1, c2, ...) 0개 이상의 정수를 허용하고 지정된 문자를 포함하는 문자열을 반환합니다. 예: var str = String.fromCharCode(72, 101, 108, 108, 111) // str == "Hello"토론: 유니코드에는 세계의 여러 언어에 대한 문자 집합이 포함되어 있지만 유니코드에 문자가 포함되어 있다고 해서 해당 문자가 경고 대화 상자, 텍스트 상자 또는 페이지 쇼. 문자 집합을 사용할 수 없는 경우 페이지에 물음표나 기타 기호로 나타납니다. 일반적인 북미 컴퓨터는 중국어 문자 세트와 해당 글꼴이 설치되어 있지 않으면 화면에 중국어 문자를 표시할 수 없습니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript에서 HTTP 상태 코드를 얻는 방법 소개: 프런트 엔드 개발에서 우리는 종종 백엔드 인터페이스와의 상호 작용을 처리해야 하며 HTTP 상태 코드는 매우 중요한 부분입니다. HTTP 상태 코드를 이해하고 얻는 것은 인터페이스에서 반환된 데이터를 더 잘 처리하는 데 도움이 됩니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. HTTP 상태 코드란 무엇입니까? HTTP 상태 코드는 브라우저가 서버에 요청을 시작할 때 서비스가

사용법: JavaScript에서 insertBefore() 메서드는 DOM 트리에 새 노드를 삽입하는 데 사용됩니다. 이 방법에는 삽입할 새 노드와 참조 노드(즉, 새 노드가 삽입될 노드)라는 두 가지 매개 변수가 필요합니다.
