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

时间:2017-11-21 05:37:33

标签: javascript codeigniter

$(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

5 个答案:

答案 0 :(得分:3)

无需使用javascript。您可以使用text-transform: capitalize;这样的

在CSS中完成

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

答案 1 :(得分:2)

jquery以这种方式容易大写每个WORD的第一个字母,输入类型文本

<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>

答案 2 :(得分:1)

这可以在JS

中使用此功能完成
function firstCap(str)
{
 return str.toString().replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + 
 txt.substr(1).toLowerCase();});
}

答案 3 :(得分:0)

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

.FIRSTNAME{
  text-transform: capitalize;
}

或试试这个

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

这是有效的

注意:这不需要jquery。

答案 4 :(得分:0)

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