我有这样一段代码:正则表达式点和逗号问题
if(calcValue.search('[^0-9\*\+\-\/]') > -1) {
jQuery('.output-field').text('Error: you can use only numbers and "+", "*", "-", "/" symbols');
}
而这正则表达式:
[^0-9\*\+\-\/]
必须排除所有的符号,除了0-9数字和符号:+ , - ,*和/但不知何故,它不排除点和逗号。如何排除点和逗号?
您也可以检查代码here:如果您输入除数字之外的任何内容,允许的符号以及由于未知原因而产生的点和逗号,将会出现错误消息。
'它扩展到+, - 。/'......这是一只兔子。你可以评论角色类中逗号和点的最终结果吗?在我看来,他们被允许,因为某些类型的数字可能有逗号和小数点。但我无法证明这一点。 –
@TimBiegeleisen打开字符映射表,你会发现在'+'和'/'之间可以找到符号''''''和'.'。没有什么神秘的,它只是ASCII;) –
所以巧合地是点和逗号被拉进来。这对某个人来说是一个很好的面试问题。 –