0

我只是在html中输入,例如:

<input class="check" type="text" />

我想以#分隔输入此输入文本。例如:

aaa# bbb# ccc# ddd

但是我如何检查和替换 # 之前不是空格而 # 之后是空格的 jQuery?

例如:

 aaa # bbb#ccc#ddd# eee

应替换为:

 aaa# bbb# ccc# ddd# eee

等等

jsfiddle

4

2 回答 2

4

如果我正确理解您要做什么,那么您可以使用正则表达式

text.replace(/\s*#\s*/g, '# ')

如果您想对 class 的所有输入执行此操作check,则可以执行以下操作:

$('#replace').click(function(){
    $('.check').each(function() {
        $(this).val($(this).val().replace(/\s*#\s*/g, '# '));
    });
});

(小提琴)

于 2013-09-25T21:11:52.690 回答
1

这是一个(非正则表达式)解决方案。它拆分字符串,修剪它并'# '在每个项目之间添加。

演示

$('#replace').click(function(){
    $.each($('.check'), cleanup);
});

function cleanup() {
    var result = '';
    var items = $(this).val().split('#');
    for (var i = 0; i < items.length; i++) {
        result += (i == 0 ? '' : '# ');
        result += $.trim(items[i]);
    }
    $(this).val(result);
}
于 2013-09-25T21:17:45.360 回答