如何获取jQuery中的字符串中的无效字符的所有值?
问题描述:
我有一个jquery方法检查特殊字符,如下所示:如何获取jQuery中的字符串中的无效字符的所有值?
function checkForSpecialChar(val) {
if (val != 0 && /^[a-zA-Z0-9- ]*$/.test(val) == false) {
return false;
}
return true;
}
这是工作正常,因为它正确地验证的值。
但是现在我需要获取val字符串的所有无效字符并将其显示给用户。
因此,例如if val is = 123gdf$£!
它应该只有无效的字符是$£!
。
任何想法,我该怎么做,请吗?
在此先感谢您的帮助。
答
加入^
只需翻转你的正则表达式中[]
[^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('')
)
);
答
试试这个
var val = "123gdf$£!".replace(new RegExp("[0-9a-zA-Z]", "g"), "");
答
只需使用javascript的string match()方法即可。
这:
var val= "123gdf$£!";
var result= str.match(/^[a-zA-Z0-9- ]*$/);
结果将是具有值的数组。