2016-08-12 126 views
0

我有一个jquery方法检查特殊字符,如下所示:如何获取jQuery中的字符串中的无效字符的所有值?

function checkForSpecialChar(val) { 

    if (val != 0 && /^[a-zA-Z0-9- ]*$/.test(val) == false) { 

     return false; 
    } 

return true; 
} 

这是工作正常,因为它正确地验证的值。

但是现在我需要获取val字符串的所有无效字符并将其显示给用户。

因此,例如if val is = 123gdf$£! 它应该只有无效的字符是$£!

任何想法,我该怎么做,请吗?

在此先感谢您的帮助。

回答

2

加入^只需翻转你的正则表达式中[]

[^a-zA-Z0-9- ] // match anything that is not alphanumerical, `-` or whitespace 

alert(
 
    'Invalid characters of "123gdf$£!": ' 
 
    + (
 
    '123gdf$£!'.match(/[^a-zA-Z0-9- ]/g) 
 
     .join('') 
 
) 
 
);

0

只需使用javascript的string match()方法即可。

这:

var val= "123gdf$£!"; 
var result= str.match(/^[a-zA-Z0-9- ]*$/); 

结果将是具有值的数组。

相关问题