天天看点

经纬度正则表达式限制90/180后小数点

参考:https://blog.csdn.net/dapyandxpy/article/details/79303509?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

经测验,当输入经纬度 90.001/180.001仍可匹配数值,参考正则表达式手册进行了修改

经度:^(\\-)?(((\\d|[1-9]\\d|1[0-7]\\d|0{1,3})(\\.[0-9]+)?)|180)$   //经度整数部分为-90~90,不限制小数点位数,90.01匹配不正确

纬度:^(\\-)?(((\\d|[1-8]\\d|0)(\\.[0-9]+)?)|90)$   //纬度整数部分为-90~90,不限制小数点位数,90.01匹配不正确

另外:

限制小数位数写法:其中位数为小数点后面位数,如若数字要添加'+'则修改开头为  ^(\-|\+)?

经度:^(\\-)?(((\\d|[1-9]\\d|1[0-7]\\d|0{1,3})(\\.[0-9]{0,位数})?)|180)$

纬度:^(\\-)?(((\\d|[1-8]\\d|0)(\\.[0-9]{0,位数})?)|90)$

PS:如果报错就把所有的\\ 换成\

继续阅读