【发布时间】:2016-10-07 13:54:17
【问题描述】:
我有一个文本区域,我希望每个句子中的每个首字母都大写。
现在我有了这个:
evt.target.value = evt.target.value.replace(/.+?[\.\?\!](\s|$)/g, function(a) {
return a.charAt(0).toUpperCase() + a.slice(1);
});
这在 af 函数中,evt.target 是文本区域,该函数在 keyup 上调用。
效果很好,只是它不会立即大写。 如果我写:
嘿。我需要一些正则表达式。
只有当我在“this”末尾加上句号时,“I”才会大写。我希望它在键入后立即将“I”大写,如果它出现在“。>空白空白空白
我尝试用谷歌搜索很多东西,但不幸的是,这个正则表达式的东西对我来说太复杂了。谁能正确地写这个并快速解释一下?
【问题讨论】:
-
可能是
.replace(/([!?.]\s+)([a-z])/g, function(m, $1, $2) {return $1+$2.toUpperCase();})? -
我推荐你访问 www.regex101.com 进行正则表达式测试...
标签: javascript regex