首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript中的SentenceCase

Javascript中的SentenceCase
EN

Stack Overflow用户
提问于 2016-05-26 10:01:41
回答 2查看 197关注 0票数 1

我想用JavaScript来做句子案例。

输入:

代码语言:javascript
复制
hello
world
example

到目前为止,我已经尝试过了:

代码语言:javascript
复制
   $('.sentenceCase').click(function(event) {
        var rg = /(^\w{1}|\.\s*\w{1})/gi;
        var textareaInput=$('.textareaInput').val();
        myString = textareaInput.replace(rg, function(toReplace) {
            return toReplace.toUpperCase();
        });

       $('.textareaInput').val(myString);
   });

如果我输入:my name is hello. i have a pen,我的输出是可以的。(输出:My name is hello. I have a pen)

但是对于第一个例子,我的代码的输出是:

代码语言:javascript
复制
Hello
world
example

我想要的输出是:

代码语言:javascript
复制
Hello
World
Example

我怎么能这么做?(在任何完全停止之后“。这封信将是大写字母)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-26 10:24:44

你只关心这封信是不是一组中的第一个字母,所以.

代码语言:javascript
复制
/\b\w/g

匹配单词-字符后面的单词边界-即每个单词中的第一个字母。

票数 1
EN

Stack Overflow用户

发布于 2016-05-26 10:14:53

试试这个:

代码语言:javascript
复制
$('.sentenceCase').click(function(event) {
    var rg = /(^\w{1}|\.\s*\w{1}|\n\s*\w{1})/gi;
    var textareaInput=$('.textareaInput').val();
    myString = textareaInput.replace(rg, function(toReplace) {
        return toReplace.toUpperCase();
    });
 $('.textareaInput').val(myString);
 });

在您的代码中,您正在检查句号(.),但是您的文本包含新的行字符。这就是问题所在。

在这个Regex中,它将查找开头和后面的第一个字符。以及字符串中的“\n”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37457557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档