javascript - 如何在 JavaScript 中使用两个按钮大写和句子大小写
问题描述
我有两个按钮,一个用于大写字母,另一个用于句子大小写,但大写字母按钮不起作用。我的代码如下。我究竟做错了什么?
function firstLetterUpper(theString) {
var newString = theString.toLowerCase().replace(/([a-z]+)|([A-Z]+)/g, function(c) {
return c.toUpperCase()
});
return newString;
}
function convertToSentenceCase() {
var theString = document.testForm.theString.value;
//alert(theString);
var newString = firstLetterUpper(theString);
//console.log("Converted: "+newString);
document.getElementById('theString').value = newString;
}
function firstLetterUpper(theString) {
var newString = theString.toLowerCase().replace(/(^\s*\w|[\.\!\?]\s*\w)/g, function(c) {
return c.toUpperCase()
});
return newString;
}
function convertToSentenceCase1() {
var theString = document.testForm.theString.value;
//alert(theString);
var newString = firstLetterUpper(theString);
//console.log("Converted: "+newString);
document.getElementById('theString').value = newString;
}
<form name="testForm">
<textarea name="theString" id="theString" cols="50" rows="5">converts text string to "sentence case" -- capitalizes the first letter of every sentence, and makes the rest lower case. helpful when you need to convert content that is in all caps.</textarea><br>
<button onclick="convertToSentenceCase();return false;">Convert to Sentence Case</button>
<button onclick="convertToSentenceCase1();return false;">Convert to Upper Case</button>
</form>
解决方案
您的两个函数具有相同的名称firstLetterUpper
。
function firstLetterUpper(theString) {
var newString = theString.toLowerCase().replace(/([a-z]+)|([A-Z]+)/g, function(c) {
return c.toUpperCase()
});
return newString;
}
function convertToSentenceCase() {
var theString = document.testForm.theString.value;
//alert(theString);
var newString = firstLetterUpper(theString);
//console.log("Converted: "+newString);
document.getElementById('theString').value = newString;
}
function firstLetterUpper1(theString) {
var newString = theString.toLowerCase().replace(/(^\s*\w|[\.\!\?]\s*\w)/g, function(c) {
return c.toUpperCase()
});
return newString;
}
function convertToSentenceCase1() {
var theString = document.testForm.theString.value;
//alert(theString);
var newString = firstLetterUpper1(theString);
//console.log("Converted: "+newString);
document.getElementById('theString').value = newString;
}
<form name="testForm">
<textarea name="theString" id="theString" cols="50" rows="5">converts text string to "sentence case" -- capitalizes the first letter of every sentence, and makes the rest lower case. helpful when you need to convert content that is in all caps.</textarea><br>
<button onclick="convertToSentenceCase();return false;">Convert to Sentence Case</button>
<button onclick="convertToSentenceCase1();return false;">Convert to Upper Case</button>
</form>
推荐阅读
- python - 三列交叉表
- teradata - 如何比较两个不同表中的两列
- android - 从 Play 商店下载应用程序时未加载同意书
- php - 在 PHP 中循环遍历 5 维数组
- python - 有人可以告诉我如何从答案中删除括号吗?
- arrays - 单击时列表不会更新,仅在刷新页面时
- excel - Excel VBA Web-Query 错误说找不到 Internet 服务器或代理服务器
- powerbi - 指定 Microsoft PowerBi 地图上显示的地图点数
- php - PHP preg_replace 输出错误的结果
- r - 如何从 R 更新 SQL Server 中的现有表?