[英]What is wrong with my Regex and why?
以下正则表达式:
var number = /^(\+|\-|)(\d+\.|\.\d+|\d+|\d+.\d+)((e\+|e\-|e)\d+)?$/i;
错误地接受不是真正的JavasScript数字的1+1
和1f5
。
我正在尝试制作一个“仅与JavaScript样式的数字匹配的正则表达式。它必须在数字,小数点和指数表示法前(5e-3或1E10)前再加上一个可选的减号或加号”另外请注意,点的前面或后面不一定要有数字,但是数字不能仅是点,即.5和5是有效的JavaScript数字,但孤点不是。”
您离开了其中一个.
逃脱。 确保所有人之前都有反斜杠。
您需要逃脱.
\\
在您的正则表达式中。 另外,您需要使用\\
正则表达式中的所有+
都转义。
看到这个演示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.