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