2016-08-12 122 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- ]*$/); 

結果將是具有值的數組。

相關問題