我正在尝试找到一种方法来确定我的字符串中的哪个字符与正则表达式不匹配,在Javascript中是否可以这样做?

我一直在使用正则表达式对象,并且能够确定字符串是否与正则表达式匹配,但我想进一步确定字符串与正则表达式不匹配的原因。

有什么想法吗?

这就是我目前拥有的...我只是想确保
一个字符串仅包含在以下正则表达式中找到的一组字符...
我想看看哪个字符不匹配。

这是我的代码:

var regexTest = new RegExp("^[0-9a-zA-Z\\!\\040\\@\\s\\#\\$\\%\\&\\*\\(\\)\\_\\+\\:\\\"\\<\\>\\?\\-\\=\\;\\'\\,\\.\\\\]+$",g);

var bValid = regexTest.test(value); //this will check whether the value is valid ...

我尝试使用value = value.replace(regexTest,''),但实际上无法过滤掉字符。

最佳答案

您可以使用''替换所有匹配的字符,仅保留不匹配的字符:

'abc123'.replace(/([a-z]+)/g, '')
// "123"

10-01 03:58
查看更多