2014-04-15 175 views
0

現在已經嘗試了一下,但不知道這一個了,我需要在Javascript中的正則表達式匹配只包含下列字符的任何條款:正則表達式來檢查公式

的數字0-9,減號( - ),除(/),乘(*),加(+),空格(),左括號(和),點號(。),最後一個逗號)。

如果它包含任何其他我希望它返回false。它可以包含這個集合中每個或只有一些字符的倍數。我到目前爲止:

var regExResult = someString.test(/([^A-Z][^a-z][0-9]|[-]|[\+]|[*]|[,]|[.]|[)]|[(]|[\/]|[ ])+/g); 

但由於某種原因,即使字符串只包含這些提到的一個字符,它也會返回true?

任何幫助將不勝感激 感謝

+0

你可以將所有的字符換成相同的[] – Fuzzyma

回答

0

下面是一個例子代碼

var str = '1234-/*()., '; // results in 'good' alert 
var str = '12a34-/*()., '; // results in 'bad' alert 

if (/[^0-9-/*()., ]/.test(str)) { // true if it finds anything that is not allowed 
    alert('bad'); 
} 
else { // if it didn't finds anything that is not allowed 
    alert('good'); 
} 

祝你好運 :)