防止超过20的字符数通过验证

Eri*_*rik 0 php regex

我有这个轻的正则表达式来验证坐标:^([0-9.,-]+){18,20}$^.如果坐标例如是33.431441,-170.15625并且小于18个字符,我将收到一条错误消息.好!但是如果我添加更多的字符来表示23或更多,即使我已将锁定设置为20,它也会通过.

您可以在http://regexpal.com/上测试正则表达式.

我该如何解决这个问题?

提前致谢.

Mat*_*att 5

你需要领先的克拉,或者你只是检查字符串中的最后18-20个字符:

/^[0-9\.,-]{18,20}$/
Run Code Online (Sandbox Code Playgroud)

编辑:同样,放弃加号,正如其他人所说.
编辑2:Parens是多余的
Edit3:需要逃避期间(否则,它匹配任何字符)