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

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

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

4

2 回答 2

6

将其用于正则表达式:

 /[^\w.]|_/g

它读取任何不是字母数字(包括下划线)或点的字符,或者不是下划线字符。

更新
但这可能更具可读性:

/[^0-9a-zA-Z.]/g
于 2013-06-15T21:12:57.187 回答
0

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

preg_replace('/[^A-Za-z0-9.\-]/', '', $string);
于 2019-05-24T10:53:52.110 回答