我试图找到一种方法来确定我的字符串中哪个字符与正则表达式不匹配,有没有办法在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,'')
,但实际上无法过滤掉这些字符。
答案 0 :(得分:2)
您可以将做匹配的所有字符替换为''
,只留下不匹配的字符:
'abc123'.replace(/([a-z]+)/g, '')
// "123"