1)我試圖申請大寫的第一個字母和其他小寫。如果用戶在輸入中寫入,它應該自動轉換。例子:如何把第一個字母大寫,其餘小寫? [JS]
「艾薩克·吉列爾梅阿勞霍」 到 「以撒的Guilherme阿勞霍」
「艾薩克·吉列爾梅·阿勞霍」 到 「以撒的Guilherme阿勞霍」
2)在巴西有與聯結的名字。 例如:「das」「da」「dos」「do」「de」「e」。
卡洛斯·愛德華多·胡里奧DOS桑托斯
卡洛斯·愛德華多·DOS桑托斯Ë席爾瓦
卡洛斯·愛德華多·達席爾瓦
3)我有這個問題使用名稱字段。用下面的代碼,我可以將第一個字母用大寫字母,但其他字母用小寫字母不能。然後,根據問題的編號爲2,如果我寫:
值中輸入: 「做于格拉德奧利維拉小輩」
應該是: 「道格拉斯·奧利維拉小輩」
不該't:「douglas de OliveiraJúnior」。與當前的代碼所示
function contains(str, search){
if(str.indexOf(search) >= 0){
return true;
} else {
return false;
}
}
$.fn.capitalize = function(str) {
$.each(this, function() {
var split = this.value.split(' ');
for (var i = 0, len = split.length; i < len; i++) {
var verify = (split[len - 1] == "D" || split[len - 1] == "d") && (str == "e" || str == "E") || (str == "o" || str == "O");
if (verify == false) {
if (contains(split[i], 'de') == false && contains(split[i], 'do') == false) {
split[i] = split[i].charAt(0).toUpperCase() + split[i].slice(1);
}
}
}
this.value = split.join(' ');
});
return this;
};
$(".capitalize").keypress(function(e) {
var str = String.fromCharCode(e.which);
$(this).capitalize(str);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Nome: </label>
<input type="text" id="nome" name="nome" class="form-control input-sm capitalize">
我在這裏#2的新成員,我的失誤道歉//值,我學習JavaScript。謝謝!
做它,因爲他們將鍵入搞砸了刪除鍵,把光標放在不同的地方,等 – epascarello
是否必須要對按鍵?只有改變時纔會更容易改變價值。這樣做也會更實用,因爲現在你不能將光標置於輸入中間並正確編輯。 –
我認爲它應該是:var str = String.fromCharCode(e.target.innerHtml); https://api.jquery.com/event.target/ – kangaro0