如何解决如何在文本区域中用逗号替换句点?
我已经创建了一个简单的文本区域,其中的某些字符会自动替换,例如,将直引号替换为智能引号,将双破折号替换为em破折号,将双破折号替换为单个空格。
但是现在我对如何添加用于替换的脚本感到困惑:(不带引号)
word . as word.
word,as word,
word ; as word;
我只想在逗号,句号和分号之前以及类似“
Hello world ;
应该由Hello world;
自动替换
这是我当前的脚本:
var $message = $("#textarea1");
$message.on("keydown keypress",function() {
var $this = $(this),val = $(this).val()
.replace(/(^|[-\u2014\s(\["])'/g,"$1\u2018")
.replace(/'/g,"\u2019")
.replace(/(^|[-\u2014/\[(\u2018\s])"/g,"$1\u201c")
.replace(/"/g,"\u201d")
.replace(/--/g,"\u2014")
.replace(/ +(?= )/g,'');
$this.val(val);
});
我找不到要替代的实体。有人碰巧已经为此使用了现有代码吗?
如果我尝试
.replace(/ ;/g,"\;")
或
.replace(/ /g,"\;")
这行不通。
解决方法
您可以使用.replace(/\s+(;|,|\.)/,'$1');
删除分号,逗号或句点之前的所有空格。
var $message = $("#textarea1");
$message.on("keydown keypress",function() {
var $this = $(this),val = $(this).val()
.replace(/(^|[-\u2014\s(\["])'/g,"$1\u2018")
.replace(/'/g,"\u2019")
.replace(/(^|[-\u2014/\[(\u2018\s])"/g,"$1\u201c")
.replace(/"/g,"\u201d")
.replace(/--/g,"\u2014")
.replace(/ +(?= )/g,'')
.replace(/\s+(;|,'$1');
$this.val(val);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="textarea1"></textarea>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。