【问题标题】:Capitalize input text in Javascript将Javascript中的输入文本大写
【发布时间】:2011-12-18 14:01:14
【问题描述】:

在表单中,我有两个按钮可以将文本转换为大写和小写。我正在使用此函数将输入文本转换为大写:

document.xyz.textinput.value=document.xyz.textinput.value.toUpperCase()

现在,我想添加一个新按钮来大写每个单词。是否可以通过以下代码实现这一点?

document.xyz.textinput.value=document.xyz.textinput.value.capitalize()

谢谢

【问题讨论】:

  • 不,因为该函数(大写)不存在。
  • “有没有可能用下面的代码实现这个”,你试试会怎么样?
  • 之前发错了重复链接,这个是正确的:stackoverflow.com/questions/3777172/…
  • “每个单词”是指一次一个单词,还是所有单词? “单词”是指由断字字符或空格分隔的一组字符吗? String.prototype.toUpperCase() 只将字符 a-z 分别转换为 A-Z,它只大写字母字符(即字符串中的所有单词)。

标签: javascript textarea capitalize


【解决方案1】:

试试这个:

document.xyz.textinput.value = document.xyz.textinput.charAt(0).toUpperCase() + document.xyz.textinput.slice(1);

如果你想要一个大写函数,See here

【讨论】:

  • 链接做了我想要的。谢谢。
  • Hari Krishnan 的回答是更正式的 JS(扩展原型)而不是严格的程序代码。
【解决方案2】:

CSS 也有一些文本转换属性:https://developer.mozilla.org/en/CSS/text-transform

如果这不是一个选项,您可以简单地按每个空格分割字符串并将该单词大写。

【讨论】:

    【解决方案3】:
    String.prototype.capitalize = function (strSentence) {
            return strSentence.toLowerCase().replace(/\b[a-z]/g, convertToUpper);
    
            function convertToUpper() {
                return arguments[0].toUpperCase();
            }
    }
    

    使用这个:

    "hello world".capitalize();  // "Hello World"
    

    【讨论】:

    • 但是发帖人想把每个单词都大写
    • 我一开始没有正确阅读它,后来更新了代码。请立即查看
    • 这可能更清楚地命名为 titlecase 或 titleize 而不是大写,因为它将每个单词都大写。
    猜你喜欢
    • 2012-03-25
    • 2022-11-30
    • 2018-10-25
    • 2017-11-03
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多