【问题标题】:How to titleize words in text_area?如何为 text_area 中的单词命名?
【发布时间】:2016-06-01 18:47:56
【问题描述】:

当用户实时输入他们的单词时,如何在 text_area 中对单词进行标题化/大写(一些介词除外)?

<%= f.text_area :name %>

例如,创建与本网站相同的行为:http://titlecapitalization.com/

【问题讨论】:

  • 你试过什么?据谷歌称,英语中有大约 150 个介词。你有没有列出你不想大写的那些?
  • 我可以随时添加更多介词,但以“on, but, of”开头就足够了。是的,我做了很多谷歌,但我找不到任何能解决我的问题的东西@Jordan

标签: javascript jquery ruby title


【解决方案1】:

如果您使用的是 Jquery,您的问题将通过下面给出的代码来解决。

function makeTitle(slug) {
    var words = slug.split(' ');

    $.each(words, function(index, word){
        words[index] = word.charAt(0).toUpperCase() + word.slice(1);
    });

    return words.join(' ');
}

$(element_selector).on('keyup', function(){ $(this).val( makeTitle($(this).val())) })

【讨论】:

  • 嘿,先生,您知道我如何包含一些介词的例外情况,例如“on, but, of, etc”?
  • 我们可以做到这一点,为了实现这一点,我们必须检查完整的单词,在这种情况下,我们不能给单词命名,直到我们得到完整的世界(或按空格)。或者我们必须小写字符串。在得到完整的单词之后,这是例外。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-05
  • 1970-01-01
相关资源
最近更新 更多