gpt4 book ai didi

javascript - 如何在JavaScript中将句号、问号和感叹号后的首字母大写?

转载 作者:行者123 更新时间:2023-11-30 11:49:31 26 4
gpt4 key购买 nike

我有一个文本区域,我希望每个句子中的每个首字母都大写。

现在我有这个:

evt.target.value = evt.target.value.replace(/.+?[\.\?\!](\s|$)/g, function(a) {
return a.charAt(0).toUpperCase() + a.slice(1);
});

这在 af 函数中进行,其中 evt.target 是文本区域,并且在 keyup 时调用该函数。

它的效果很好,只是它不能立即获利。如果我写:

Hey. i need some regular expression for this.

只有当我在“this”的末尾加上句号时,“I”才会大写。如果它出现在“.>whitespace<”或“!>whitespace<”或“?>whitespace<”之后,我希望它在输入后立即将“I”大写。

我尝试用谷歌搜索很多东西,但不幸的是,这个正则表达式的东西对我来说太复杂了。任何人都可以正确地写出这个并快速解释一下吗?

最佳答案

我来晚了,但也许有人需要 jQuery 代码。这也适用于第一句话。

$('input').on('input', function (evt) {
var $this = $(evt.target),
re = /(^|[.!?]\s+)([a-z])/g,
val = $this.val().replace(re, function (m, $1, $2) {
return $1 + $2.toUpperCase();
});
$this.val(val);
});

https://jsfiddle.net/chukanov/oqg5o88u/1/

es6 更新:

let re = /(^|[.!?]\s+)([a-z])/g;
$('input').on('input', function (evt) {
let $this = $(this),
val = $this.val().replace(re, (m, $1, $2) => $1 + $2.toUpperCase());
$this.val(val);
});

https://jsfiddle.net/chukanov/oqg5o88u/27/

关于javascript - 如何在JavaScript中将句号、问号和感叹号后的首字母大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39918994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com