正则表达式检查公式

时间:2014-04-15 09:28:47

标签: javascript regex

现在尝试了一下但是无法想出这个,我需要一个Javascript中的正则表达式,它将匹配任何只包含以下任何字符的术语:

数字0-9,减号( - ),除(/),乘(*),加(+),空格(),左右括号((和)),点(。)和最后一个逗号(,)。

如果它包含任何其他内容,我希望它返回false。它可以包含此集合中每个或仅一些字符的倍数。到目前为止我所拥有的:

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

但由于某种原因,即使字符串只包含这些中提到的一个字符,它也会返回true吗?

非常感谢任何帮助 感谢

2 个答案:

答案 0 :(得分:1)

您可以按以下方式进行检查:

^[0-9*+ ().,-]+$

演示:http://regex101.com/r/yK2cG5

答案 1 :(得分: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');
}
祝你好运 :)