正则表达式 - 替换除dot之外的特殊字符

时间:2013-06-15 21:01:31

标签: javascript jquery html regex

$('#price').keyup(function(){
        $('#price').val($('#price').val().replace(/[_\W]+/g, "-"));
})

现场观看:http://jsfiddle.net/2KRHh/6/

这会删除特殊字符,但如何指定它不会替换点?

2 个答案:

答案 0 :(得分:3)

将此用于正则表达式:

 /[^\w.]|_/g

它读取的任何字符,包括字母数字(包括下划线)或点, 是一个下方栏。

<强>更新
但这可能更具可读性:

/[^0-9a-zA-Z.]/g

答案 1 :(得分:0)

现在有点老了,但是如果有人仍然需要它,浮士德的答案对我不起作用(我尝试更改文件名以在URL中使用它),所以这是我找到的解决方案:

preg_replace('/[^A-Za-z0-9.\-]/', '', $string);