关于javascript:如何在输入类型文本中大写每个WORD的第一个字母

How to capitalize first letter of EACH WORD, in input type text

本问题已经有最佳答案,请猛点这里访问。
1
2
3
4
5
6
7
8
9
10
11
12
$(document).ready(function () {
    $(document).on('keydown', '.FIRSTNAME',
        function (event) {
            if (this.selectionStart == 0 && event.keyCode >= 65 && event.keyCode <= 90 && !(event.shiftKey) && !(event.ctrlKey) && !(event.metaKey) && !(event.altKey)) {
                var $t = $(this);
                event.preventDefault();
                var char = String.fromCharCode(event.keyCode);
                $t.val(char + $t.val().slice(this.selectionEnd));
                this.setSelectionRange(start, end);
            }
        });
});

你能用我的代码编辑它吗?

区别在于每个词的第一个字母…

我只想把每个单词的第一个字母大写

有人帮我…TNX提前

enter image description here


不需要使用javascript。你可以用这样的text-transform: capitalize;在css中完成它

1
<input type='text' name='name' class='name' style="text-transform: capitalize;" placeholder='Enter your name here'/>


jquery这种方式在输入类型文本中,每个单词的第一个字母很容易大写。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">


<label>Capitalize the first letter of all words in a string: </label><input type="text" id="txt_firstCapital" name="txt_firstCapital" />



jQuery(document).ready(function() {
   
    jQuery('#txt_firstCapital').keyup(function()
    {
        var str = jQuery('#txt_firstCapital').val();
       
       
        var spart = str.split("");
        for ( var i = 0; i < spart.length; i++ )
        {
            var j = spart[i].charAt(0).toUpperCase();
            spart[i] = j + spart[i].substr(1);
        }
      jQuery('#txt_firstCapital').val(spart.join(""));
   
    });
});


这可以用JS中的这个函数来完成。

1
2
3
4
5
function firstCap(str)
{
 return str.toString().replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() +
 txt.substr(1).toLowerCase();});
}


1
2
3
4
5
6
function capitalize(obj)
{
    obj.value = obj.value.split(' ').map(eachWord=>
      eachWord.charAt(0).toUpperCase() + eachWord.slice(1)
    ).join(' ');
}

1
<input type='text' id='textfield' onkeyup='capitalize(this)'>


你只需要CSS来修复它。在您的CSS中添加以下代码。

1
2
3
.FIRSTNAME{
  text-transform: capitalize;
}

或者试试这个

1
<input type="text" id="txtval" style="text-transform:capitalize" />

这个工作

注意:这不需要jquery。