javascript - 如何使用 javascript 将 <input> 的每个单词大写?

标签 javascript html

我正在尝试从这里获取一些代码,但它只是将句子的第一个单词大写

function capitalize(textboxid, str) {
  // string with alteast one character
  if (str && str.length >= 1) {
    var firstChar = str.charAt(0);
    var remainingStr = str.slice(1);
    str = firstChar.toUpperCase() + remainingStr + " ";
  }
  document.getElementById(textboxid).value = str;
}
<input name="sentence" id="sentencebox" onkeyup="javascript:capitalize(this.id, this.value);" placeholder="Write a Sentence" class="form-control" type="text">

最佳答案

这是另一种将每个单词首字母大写的方法

function capitalize(obj) {
  str = obj.value;
  obj.value = str.replace(/\w\S*/g, function(txt) {
    return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
  });
}
<input name="sentence" id="sentencebox" onkeyup="javascript:capitalize(this);" placeholder="Write a Sentence" class="form-control" type="text">

关于javascript - 如何使用 javascript 将 &lt;input&gt; 的每个单词大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39260264/

相关文章:

php - 最大执行时间超过 30 秒 Laravel 4 错误

javascript - 如何从输入文件设置背景图像?

javascript - NodeJS + Express 提供的 HTML 文件未加载 js 文件?

php - Smarty:同一行显示不止一次

jquery - 将标题标签对齐为空格

javascript - 卡在搜索js上

javascript - jQuery UI slider : access options from function associated with the slide event

javascript - iOS Javascript 引擎 parseFloat(1) 返回负数

javascript - DOMParser 未识别文本节点 (javascript)

html - CSS @import 及其顺序