Content

Java正则表达式实现经纬度的合法性操作(正则匹配经纬度的方法)这样也行?

文章摘要

该代码是用于验证经纬度数据格式的Java程序。它定义了两个正则表达式`LONGITUDE`和`LATITUDE`,分别用于检查经纬度值的格式是否符合要求。`LONGITUDE`和`LATITUDE`允许正负号、小数点后的位数不固定,且范围在-180到180度之间。主方法`verifyLongAndLat`遍历输入的经纬度数据,使用正则表达式验证每个经纬度值,并根据验证结果将错误类型添加到结果数组中。该程序的核心功能是确保经纬度数据的格式正确性。

 package com.test; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.regex.Pattern; public class VerifyLongAndLat { private static final String LONGITUDE=”/^[\\-\\+]?(0?\\d{1,2}\\.\\d{1,5}|1[0-7]?\\d{1}\\.\\d{1,5}|180\\.0{1,5})$/”; private static final String LATITUDE=”/^[\\-\\+]?(0?\\d{1,2}\\.\\d{1,5}|1[0-7]?\\d{1}\\.\\d{1,5}|180\\.0{1,5})$/”; private JSONArray verifyLongAndLat(List<LocatorDataDetail> ldDetailList, JSONArray errorTypeArray) { for (LocatorDataDetail dataDetail : ldDetailList) { JSONObject errorTypeObject=new JSONObject(); Double longitude=dataDetail.getLongitude(); Double latitude=dataDetail.getLatitude(); boolean longPattern=Pattern.matches(LONGITUDE, longitude.toString()); boolean latPattern=Pattern.matches(LATITUDE, latitude.toString()); if (longPattern || latPattern) { errorTypeObject.put(“coordinate”,”0″); } else { errorTypeObject.put(“coordinate”,”2″); } errorTypeArray.add(errorTypeObject); } return errorTypeArray; } }