我有2个输入框。 1 =原始,2 =结果。我想用“ - ”(短划线)替换#box2
中的空格。
所以我有:
$("#box1").on('input', function() {
var stts = $(this).val();
dashed = stts.replace(/ /g, "-");
$("#box2").val(dashed);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="box1" placeholder="original" />
<input type="text" id="box2" placeholder="dashed string" />
但问题是当原box1
内有“ - ”时。按下空格时。目的地中有双点“ - ”。
问题是:如何覆盖原来的“ - ”(短划线)。所以在目的地内只有一个“ - ”? - https://jsfiddle.net/kcsyjrmL/
在这里工作:https://jsfiddle.net/kcsyjrmL/4/(thnx to gurvinder372)
工作2:https://jsfiddle.net/kcsyjrmL/5/(感谢Jp Mohan,修复太空)
答案 0 :(得分:3)
如何覆盖原作&#34; - &#34; (短跑)。所以它只有一个&#34; - &#34; 在目的地内?
用\s+
dashed = stts.replace(/(\s|\-)+/g, "-");
<强>演示强>
$("#box1").on('input', function() {
var stts = $(this).val();
dashed = stts.replace(/(\s|\-)+/g, "-");
$("#box2").val(dashed);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="box1" placeholder="original" />
<input type="text" id="box2" placeholder="dashed string" />
&#13;
答案 1 :(得分:1)
试试这个,
这将确保多个相邻的出现 - &#39; - &#39;将被制作成一个&#39; - &#39;
dashed =stts.replace(/ /g,"-").replace(/--+/g, '-');