2017-02-23 7 views
0

私はJavascriptまたは正規表現のいずれかを初めて使用しています。私は大文字に最初の単語の文字を置き換える必要があり、私のコードはそれを行いますが、それは特殊文字やその他の文字(例えば、±çęėįšなど)の後の文字を置き換えるもので、何とかそれを避けて最初の文字だけを変更する必要があります。誰かが私にこの問題を解決するのを手伝ってもらえますか?特殊文字または手紙の後に最初の文字を大文字にする

私のコードはここにある:

function capitalizeName(input) { 
var name = input.val(); 
    name = name.toLowerCase().replace(/\b[a-z]/g, function(letter) { 
    return letter.toUpperCase(); 
}) 
input.val(name); 

答えて

0

その後は、スペースで単語の境界を削除するか、アンカー試合を開始する必要があります。

name = name.toLowerCase().replace(/(^|\s)[a-z]/g, function(letter) { 
    return letter.toUpperCase(); 
}) 
+1

を必要としない働いたこと、ありがとうございます! – devorye

0

Thisはあなたのために働く必要があります。

またはこの

console.log("tihi is some rčęėįš random typing. Is it good? maby has some minor-bugs but at least works" 
 
.replace(/\w.*?\W/g, x => x[0].toUpperCase() + x.substr(1)))

あなたはこれが機能するために最後に非世界の文字を追加する必要があります。

const data = "tihi is some rčęėįš random typing. Is it good? maby has some minor-bugs but at least works." 
 
    
 
    
 
const capitalize = data => (data + ' ').replace(/\w.*?\W/g, x => x[0].toUpperCase() + x.substr(1)).substr(0, data.length) 
 

 

 
console.log(capitalize(data))

0

私は楽しみのために、このようなすべての質問への非正規表現の答えを好むし、主に、あなたは、複雑な正規表現に

"java script is cool".split(" ").map(function(w){return w[0].toUpperCase()+w.substr(1)}).join(" ") 
"Java Script Is Cool" 
関連する問題