javascript中的正则表达式来删除任何不存在的内容:a-z 0-9和连字符

javascript中的正则表达式来删除任何不存在的内容:a-z 0-9和连字符,javascript,regex,Javascript,Regex,提前谢谢 我想要一个正则表达式,删除任何不是字母数字和连字符的内容。因此,A-z0-9和- 另外,如何将其应用于Javascript中的字符串 再次感谢。试试这个: var str = 'a23a-asd!@#$'; str.replace(/[^-a-z0-9]/ig,''); str = str.replace(/[a-zA-Z\d-]/g, ""); 字符串。替换(/[^a-zA-Z0-9-]/g,”) 这可用于验证字母数字值。向我们展示您的尝试。我们将尽最大努力帮助您修复这些问题。请

提前谢谢

我想要一个正则表达式,删除任何不是字母数字和连字符的内容。因此,A-z0-9和-

另外,如何将其应用于Javascript中的字符串

再次感谢。

试试这个:

var str = 'a23a-asd!@#$';
str.replace(/[^-a-z0-9]/ig,'');
str = str.replace(/[a-zA-Z\d-]/g, "");
字符串。替换(/[^a-zA-Z0-9-]/g,”)


这可用于验证字母数字值。

向我们展示您的尝试。我们将尽最大努力帮助您修复这些问题。请将[^A-Z0-9\-\.]+替换为NothingTanks伙计们。这是最终的结果。字符串。替换(/[^A-Z0-9\-]/ig')@Sparkyfied:在该上下文中不需要转义连字符。“a23a-asd”。替换(/[^-a-z\d]/ig');(忘记了\d):你需要全局标志,否则它只会替换第一个匹配项。不,
\w
包括OP没有要求的下划线。@Andrew Hare:但是你首先有
[\w\d-]
[\w]([A-Za-z0-9])包含所有[\d]([0-9]),[^\w\d]是多余的。
var output = input.replace(/[^A-Za-z0-9-]/g, "");
$(document).ready(function (e) {
        $('#Box, #Window').keyup(function(){
            var $th = $(this);
            $th.val($th.val().replace(/[^a-zA-Z0-9]/g, function(str){return '';}));
        });

    });