2013-05-01 133 views
0

对于除逗号以外的所有特殊字符和字母匹配字符串的正则表达式值是多少?如何匹配除逗号以外的所有特殊字符

value = "23,$%aA"; 

我希望做一个匹配,如果值有任何pf的特殊字符和字母像上面的字符串,则它将返回true,但如果它只是像

value = "23,3456.00"

值那么它将返回false。由于所有的特殊字符和字母不再是字符串的一部分。

我可以使用match和regex来做到这一点。

+1

对于你返回false的例子,你有三个“类型”的字符:数字,逗号和句点。那些你如何定义“字母”? – nickb 2013-05-01 21:21:43

+0

见过?:[什么正则表达式将匹配除逗号或分号之外的每个字符](http://stackoverflow.com/questions/1409162/what-regex-will-match-every-character-except-comma-or-分号?rq = 1) – 2013-05-01 21:23:46

+0

他也想保留号码 – Ding 2013-05-01 21:24:30

回答

5

这将匹配的一切,是不是数字或不是一个逗号或句号(小数点)

var result = str.replace(/[^0-9\.,]/g, ""); 
0
var check = yourString.match(/[^0-9,\.]/); 

这里检查将是“空”如果字符串不包含不同的字符数字,逗号或点。如果字符串具有这些字符中的任何一个,则检查将是一个数组。你可以用这种方式来测试它

if (check === null) { console.log('No special characters present') }; 

if (typeof check === 'Array') { console.log('Special characters present') }; 
相关问题