Javascript 如何捕获css大写的输入字母:text transform:capitalize
我发现,当javascript捕获时,用cssJavascript 如何捕获css大写的输入字母:text transform:capitalize,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我发现,当javascript捕获时,用csstext transform:capital大写的字母没有大写。我想知道解决这个问题最简单的方法是什么 演示如下: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <html> <input id="box" type="text" style="text-transform:c
text transform:capital
大写的字母没有大写。我想知道解决这个问题最简单的方法是什么
演示如下:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<input id="box" type="text" style="text-transform:capitalize">
<button id="showinput">type in something then press me</button>
</html>
<script>
$("#showinput").click(function(){
txt=$("#box").val();
alert(txt+" as you can see, the first letter of each word is not capitalized!");
})
</script>
输入一些东西,然后按我
$(“#显示输入”)。单击(函数(){
txt=$(“#框”).val();
警告(txt+“如您所见,每个单词的第一个字母没有大写!”;
})
CSS文本转换属性仅转换用户在屏幕上看到的内容(与所有CSS属性一样)。它不会与JavaScript代码交互。我建议对JavaScript中的字符串应用类似的函数,例如lodash中的函数。在js中使用正则表达式执行此操作
$(“#显示输入”)。单击(函数(){
txt=$(“#框”).val();
txt=txt.trim().replace(/\b\w{3,}/g,函数(l){
返回l.charAt(0.toUpperCase()+l.slice(1);
});
警告(txt+“如您所见,每个单词的第一个字母没有大写!”;
})
输入一些东西,然后按我
正如McMath所说,CSS文本转换不会与Javascript交互。下面是一个解决方案,它可以通过大写Javascript中的第一个字母来获得您想要的结果:
$(“#显示输入”)。单击(函数(){
txt=$(“#框”).val();
txt=txt.charAt(0.toUpperCase()+txt.slice(1);
警报(txt+“如您所见,每个单词的第一个字母都大写!”);
});代码>
输入一些东西,然后按我
脚本
$("#showinput").click(function(){
txt=$("#box").val();
var newtxt=txt.split(" ");
var tmp=[];
for(i=0;i<newtxt.length;i++)
{
tmp.push(newtxt[i].trim().charAt(0).toUpperCase()+ newtxt[i].slice(1));
}
//alert(tmp.join(" "));//YOU CAN USE THIS ALSO
alert(tmp.join().replace(","," ")+" as you can see, the first letter of each word is not capitalized!");//YOU CAN USE tmp.join(" ") also
})
$(“#显示输入”)。单击(函数(){
txt=$(“#框”).val();
var newText=txt.split(“”);
var tmp=[];
对于(i=0;ii如果键入多个单词,如“hello world”,则“w”不会以您的代码大写,但谢谢。如果键入以空格开头,则与拥抱不起作用;如果键入以多个空格开头,则与拥抱不起作用。如果键入以更紧的拥抱开始,则与拥抱不起作用!…:D好的一点是先修剪一下txt.trim()。替换(/\b\w{3,}/g,函数(l){return l.charAt(0).toUpperCase()+l.slice(1);});
@ryanpika查看我的答案是否有用。text transform
只更改文本的外观,而不是实际值。如果有帮助,请查看我的答案。