如何用空格包围的斜杠替换空格字符" /"?

时间:2015-08-05 19:13:09

标签: jquery regex

我使用此代码用我的某个字段中的/替换空格。

  $('#field').bind('keyup keypress blur', function() 
  {  
    var myStr = $(this).val()
    myStr=myStr.replace(/\s+/g, "/");
    $('#field').val(myStr); 
  });

如何在" /"?

周围添加2个空格

如果我尝试使用.replace(/\s+/g, " / ");,则会在输入时给我/ / / / / / / r

2 个答案:

答案 0 :(得分:1)

您不应该包含keyup事件,否则替换后的空格也会被" / "重复替换。

以下应该工作:

$('#field').bind('keypress', function() {  
    var myStr = $(this).val()
    myStr=myStr.replace(/\s+/g, "  /  ");
    $('#field').val(myStr); 
});

JSFiddle Demo

答案 1 :(得分:1)

试试这个:

$('#field').bind('keyup', function() {  
    var myStr = $(this).val()
    myStr=myStr.replace(/\s+$/g, ' / ');
    $('#field').val(myStr); 
});

https://jsfiddle.net/uo62y4ja/3/

在正则表达式中添加了$,并在替换值中添加了/周围的空格。此外,将关键事件简化为keyup

修改

anubhava 关于使用keypress代替keyup是正确的。主要区别在于在正则表达式中添加$