Programing

2 단어 도시처럼 각 단어의 첫 문자를 대문자로 표시하는 방법은 무엇입니까?

lottogame 2020. 4. 7. 08:18
반응형

2 단어 도시처럼 각 단어의 첫 문자를 대문자로 표시하는 방법은 무엇입니까? [복제]


이 질문에는 이미 답변이 있습니다.

도시에 한 단어가 있으면 내 JS가 잘 작동합니다.

  • cHIcaGO ==> 시카고

하지만 때

  • 샌디에고 ==> 샌디에고

샌디에고가 되려면 어떻게해야합니까?

function convert_case() {
    document.profile_form.city.value =
        document.profile_form.city.value.substr(0,1).toUpperCase() + 
        document.profile_form.city.value.substr(1).toLowerCase();
}

여기에 좋은 대답이 있습니다 .

function toTitleCase(str) {
    return str.replace(/\w\S*/g, function(txt){
        return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
    });
}

또는 ES6에서 :

var text = "foo bar loo zoo moo";
text = text.toLowerCase()
    .split(' ')
    .map((s) => s.charAt(0).toUpperCase() + s.substring(1))
    .join(' ');

CSS를 사용할 수 있습니다 :

p.capitalize {text-transform:capitalize;}

업데이트 (JS 솔루션) :

Kamal Reddy의 의견을 바탕으로 :

document.getElementById("myP").style.textTransform = "capitalize";

function convertCase(str) {
  var lower = String(str).toLowerCase();
  return lower.replace(/(^| )(\w)/g, function(x) {
    return x.toUpperCase();
  });
}

자바 스크립트 기능 :

String.prototype.capitalize = function(){
       return this.replace( /(^|\s)([a-z])/g , function(m,p1,p2){ return p1+p2.toUpperCase(); } );
      };

이 기능을 사용하려면

capitalizedString = someString.toLowerCase().capitalize();

또한 이것은 여러 단어 문자열에서 작동합니다.

변환 된 도시 이름이 소문자로 된 대문자로 데이터베이스에 삽입되도록하려면 서버 측으로 보내기 전에 JavaScript를 사용해야합니다. CSS는 단순히 스타일을 지정하지만 실제 데이터는 사전 스타일을 유지합니다. jsfiddle 예제를 보고 경고 메시지와 스타일 출력을 비교하십시오.

참고 URL : https://stackoverflow.com/questions/4878756/how-to-capitalize-first-letter-of-each-word-like-a-2-word-city

반응형