如何用javaScript标题为句子



<html>
<head>
	<!--Wei Wu Section A-->
	<title>This is the 4th extra credit</title>
</head>
<body>
	<script type="text/javascript">
	function toUpper(stringFromUser){
		var arrayOfStrings = [];
			arrayOfStrings = stringFromUser.split(" ");
			for(i=0;i<arrayOfStrings.length;i++){
				//if (char(arrayOfStrings[i][0]) <= 122 && char(arrayOfStrings[i][0]) >= 97){
				  if (arrayOfStrings[i].charCodeAt(0) <=122 && arrayOfStrings[i].charCodeAt(0) >=97){	
					arrayOfStrings[i] = arrayOfStrings[i].charAt(0).toUpperCase() + arrayOfStrings[i].slice(1);
				}
			}
		var afterTitle = "";
		afterTitle = arrayOfStrings.join(" ");
			document.getElementById('afterChange').innerHTML = afterTitle;
		}
	</script>
	<p>Enter a sentence and I will turn it into Title Case!<input id="textInput" value=""></p>
	<button onclick="toUpper(textInput.value)">Change case!</button>
	<p id="afterChange"></p>
</body>
</html>

嗨,谢谢您的所有帮助。这是我正在研究的代码之一。该代码的目的是"标题案例"句子中每个单词的第一个字母。一项工作后,我的代码运行良好。

但是我有一个问题:在第14行,我试图指示将大写字母分配给arrayofstring [i] [0],这无效。相反,我更改了整个元素,也就是数组中的元素。那为什么不起作用?非常感谢!

字符串是不可变的 - 您无法通过将其分配给[]指示来更改它们中的单个字符。因此,您必须将它们切成薄片,然后将它们放回原处。

您可以将此代码用于标题案例

<html>
<head>
	<!--Wei Wu Section A-->
	<title>This is the 4th extra credit</title>
</head>
<body>
	<script type="text/javascript">
	function toUpper(stringFromUser){
	   var afterTitle = toTitleCase(stringFromUser);
	   document.getElementById('afterChange').innerHTML = afterTitle;
        }
        function toTitleCase(str)
        {
            return str.replace(/wS*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
        }
	</script>
	<p>Enter a sentence and I will turn it into Title Case!<input id="textInput" value=""></p>
	<button onclick="toUpper(textInput.value)">Change case!</button>
	<p id="afterChange"></p>
</body>
</html>

最新更新