[javascript] 공백을 대시로 바꾸고 모든 글자를 소문자로 만드십시오

jQuery 또는 vanilla JavaScript를 사용하여 문자열을 다시 포맷해야합니다

우리가 있다고 가정 해 봅시다 "Sonic Free Games".

로 변환하고 싶습니다 "sonic-free-games".

따라서 공백은 대시로 바꾸고 모든 문자를 작은 문자로 변환해야합니다.

이것에 대한 도움이 필요하십니까?



답변

예를 들어 문자열 replacetoLowerCase메소드를 사용하십시오 .

var str = "Sonic Free Games";
str = str.replace(/\s+/g, '-').toLowerCase();
console.log(str); // "sonic-free-games"

g플래그를 RegExp확인하면 문자열 내에서 전체적으로 교체가 이루어지며, 사용되지 않는 경우 첫 번째 항목 만 교체되며 RegExp하나 이상의 공백 문자와 일치합니다.


답변

위의 답변은 약간 혼란 스러울 수 있습니다. 문자열 메서드는 원본 객체를 수정 하지 않습니다 . 그들은 새로운 물건을 돌려줍니다 . 다음과 같아야합니다.

var str = "Sonic Free Games";
str = str.replace(/\s+/g, '-').toLowerCase(); //new object assigned to var str


답변

당신은 또한 사용할 수 있습니다 splitjoin:

"Sonic Free Games".split(" ").join("-").toLowerCase(); //sonic-free-games


답변

CMS의 대답은 잘이다,하지만 난 당신이 패키지를 사용할 수 있음을 노트에 원하는 @ : https://github.com/sindresorhus/slugify , 당신과 커버 많은 가장자리의 경우 (즉, 독일어 움라우트, 베트남어, 아랍어를 수행 , 러시아어, 루마니아어, 터키어 등).


답변

var str = "Tatwerat Development Team";
str = str.replace(/\s+/g, '-');
console.log(str);
console.log(str.toLowerCase())


답변