错误:[在处理此指令时发生错误]和正则表达式混淆


Error : [an error occurred while processing this directive] and regular expression confusion

我使用ftp下载了一个网站,当我在主机上测试该网站时,它显示错误

[an error occurred while processing this directive]

你可以在这里检查这个错误http://www.excoflare.com/dev2011/amplitechnic/

另外,我很难得到一个有效的浮点数的正则表达式。我用的是这个:

expression: "if (VAL.match(/^[0-9]*'.?[0-9]/)) return true; else return false;",

但是上面的表达式返回真,即使我写1.x ?

对不起,我把问题放在一起了。

web服务器错误:

通常,当你的SSI指令出错时,你会得到消息[处理此指令时发生错误]

Apache Tutorial: Introduction to Server Side包括

这可能是由你页面代码中看起来像SSI指令的东西引起的:

<!-- Here's the call to the silent-counter script -->
[an error occurred while processing this directive]
<!-------------------------------------------------->

SSI指令有以下语法:

<!--#element attribute=value attribute=value ... -->

另外,当有专门的函数来确定它是否是浮点数时,为什么要使用regexp,比如php中的is_numeric或is_float(如果需要检查变量类型)。

对于jQuery客户端验证,您可以使用JavaScripts parseFloat()函数(如果它返回NaN,当您的输入不是一个数字)。对于double/float 的jQuery输入验证

如果你想要一个正则表达式,你可以看看这个问题:Javascript/jQuery -浮动验证?

^[0-9]*'.?[0-9]

将匹配1,并且由于您没有行结束锚$,它将匹配(部分)您的输入。

对于一个更好的浮点正则表达式,你可以这样使用:
^[-+]?[0-9]*'.?[0-9]+'b$

这无视科学记数法。它匹配一个整数或带有可选整数部分的浮点数。符号是可选的。

如果你也想匹配科学记数法,你可以这样使用:

^[-+]?(?:[0-9]+(?:'.[0-9]*)?|'.[0-9]+)(?:[eE][-+]?[0-9]+)?$

关于另一个错误我无能为力