【问题标题】:How to capitalize first letter of EACH WORD, in input type text [duplicate]如何在输入类型文本中大写每个单词的第一个字母[重复]
【发布时间】:2026-01-15 10:30:01
【问题描述】:
$(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

【问题讨论】:

  • 使用 style="text-transform: capitalize;"

标签: javascript codeigniter


【解决方案1】:

无需使用 javascript。您可以像这样使用text-transform: capitalize; 在 CSS 中简单地做到这一点

&lt;input type='text' name='name' class='name' style="text-transform: capitalize;" placeholder='Enter your name here'/&gt;

【讨论】:

  • OP 正在寻找标题大小写而不是大写
【解决方案2】:

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

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>


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

<script>

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(" "));
	
	});
});
</script>

【讨论】:

    【解决方案3】:

    function capitalize(obj)
    {
        obj.value = obj.value.split(' ').map(eachWord=>
          eachWord.charAt(0).toUpperCase() + eachWord.slice(1)
        ).join(' ');
    }
    &lt;input type='text' id='textfield' onkeyup='capitalize(this)'&gt;

    【讨论】:

      【解决方案4】:

      这可以通过JS中的这个函数来完成

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

      【讨论】:

        【解决方案5】:

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

        .FIRSTNAME{
          text-transform: capitalize;
        }
        

        或者试试这个

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

        这行得通

        注意:这不需要 jquery。

        【讨论】:

        最近更新 更多