需要javascript正则表达式帮助

时间:2013-12-28 20:27:41

标签: javascript jquery regex

我昨天就这个主题寻求帮助,但我需要扩展它并为正则表达式添加一些内容。这是我到目前为止摆脱字符串中不需要的单词的FIDDLE,但现在我还需要替换非单词字符,例如句点,逗号,任何斜线,星星等。我怎么能添加\ W,如果这是我需要使用的呢?我尝试了许多变化但没有成功。请帮忙......

<input id="search" type="text" value="bone on ^ * () 
  a thing there and an hifi if the offer, of boffin."/>

$("#search").bind('enterKey', function(e){
var search = $('#search')
               .val()
               .replace( /\b(on|a|the|of|in|if|an)\b/ig, '' )
               .replace( /\s+/g, '-' );
alert( 'Replace spaces: ' + search);
});

$('#search').keyup(function(e){
if(e.keyCode == 13){
  $(this).trigger("enterKey");
}
});

1 个答案:

答案 0 :(得分:1)

如果你只是想删除它们,这将解决问题:

$("#search").bind('enterKey', function(e){
    var search = $('#search')
                   .val()
                   .replace(/\b(on|a|the|of|in|if|an)\b|\W/ig, '')
                   .replace(/\s+/g, '-');
    alert( 'Replace spaces: ' + search);
});
$('#search').keyup(function(e){
if(e.keyCode == 13)
{
  $(this).trigger("enterKey");
}
});

如果要将所有非单词字符替换为其他字符,请使用:

$("#search").bind('enterKey', function(e){
    var search = $('#search')
                   .val()
                   .replace(/\b(on|a|the|of|in|if|an)\b/ig, '')
                   .replace(/[^a-zA-Z0-9_ ]/g, '*')
                   .replace(/\s+/g, '-');
    alert( 'Replace spaces: ' + search);
});
$('#search').keyup(function(e){
if(e.keyCode == 13)
{
  $(this).trigger("enterKey");
}
});