如何在textarea中用句号替换逗号+句号?
How to replace comma + period with period in textarea?
我创建了一个简单的文本区域,其中一些字符会自动替换,例如,将直引号替换为智能引号、将双破折号替换为短划线、将双 space 替换为单 space。
但现在我不知道如何添加替换脚本:(不带引号)
word . as word.
word , as word,
word ; as word;
我只想防止在逗号、句号和分号之前以及像
这样的词之后多一个 space
Hello world ;
应自动替换为 Hello world;
这是我当前的脚本:
var $message = $("#textarea1");
$message.on("keydown keypress", function() {
var $this = $(this),
val = $(this).val()
.replace(/(^|[-\u2014\s(\["])'/g, "\u2018")
.replace(/'/g, "\u2019")
.replace(/(^|[-\u2014/\[(\u2018\s])"/g, "\u201c")
.replace(/"/g, "\u201d")
.replace(/--/g, "\u2014")
.replace(/ +(?= )/g,'');
$this.val(val);
});
我找不到可以替代的实体。有人碰巧有这方面的现有代码吗?
如果我尝试
.replace(/ ;/g, "\;")
或
.replace(/ /g, "\;")
这行不通..
您可以使用 .replace(/\s+(;|,|\.)/, '');
删除分号、逗号或句号前的所有空格。
var $message = $("#textarea1");
$message.on("keydown keypress", function() {
var $this = $(this),
val = $(this).val()
.replace(/(^|[-\u2014\s(\["])'/g, "\u2018")
.replace(/'/g, "\u2019")
.replace(/(^|[-\u2014/\[(\u2018\s])"/g, "\u201c")
.replace(/"/g, "\u201d")
.replace(/--/g, "\u2014")
.replace(/ +(?= )/g,'')
.replace(/\s+(;|,|\.)/, '');
$this.val(val);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="textarea1"></textarea>
我创建了一个简单的文本区域,其中一些字符会自动替换,例如,将直引号替换为智能引号、将双破折号替换为短划线、将双 space 替换为单 space。
但现在我不知道如何添加替换脚本:(不带引号)
word . as word.
word , as word,
word ; as word;
我只想防止在逗号、句号和分号之前以及像
这样的词之后多一个 spaceHello world ;
应自动替换为 Hello world;
这是我当前的脚本:
var $message = $("#textarea1");
$message.on("keydown keypress", function() {
var $this = $(this),
val = $(this).val()
.replace(/(^|[-\u2014\s(\["])'/g, "\u2018")
.replace(/'/g, "\u2019")
.replace(/(^|[-\u2014/\[(\u2018\s])"/g, "\u201c")
.replace(/"/g, "\u201d")
.replace(/--/g, "\u2014")
.replace(/ +(?= )/g,'');
$this.val(val);
});
我找不到可以替代的实体。有人碰巧有这方面的现有代码吗?
如果我尝试
.replace(/ ;/g, "\;")
或
.replace(/ /g, "\;")
这行不通..
您可以使用 .replace(/\s+(;|,|\.)/, '');
删除分号、逗号或句号前的所有空格。
var $message = $("#textarea1");
$message.on("keydown keypress", function() {
var $this = $(this),
val = $(this).val()
.replace(/(^|[-\u2014\s(\["])'/g, "\u2018")
.replace(/'/g, "\u2019")
.replace(/(^|[-\u2014/\[(\u2018\s])"/g, "\u201c")
.replace(/"/g, "\u201d")
.replace(/--/g, "\u2014")
.replace(/ +(?= )/g,'')
.replace(/\s+(;|,|\.)/, '');
$this.val(val);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="textarea1"></textarea>