자바 정규 표현 식 은 경위도 의 합 법성 을 실현 합 니 다.
경도:-180.0~+180.0(정수 부분 은 0~180,1~5 비트 소 수 를 입력 해 야 함)
정규 표현 식:
/^[\-\+]?(0?\d{1,2}\.\d{1,5}|1[0-7]?\d{1}\.\d{1,5}|180\.0{1,5})$/
위도:-90.0~+90.0(정수 부분 은 0~90,1~5 자리 소 수 를 입력 해 야 함)
정규 표현 식:
/^[\-\+]?([0-8]?\d{1}\.\d{1,5}|90\.0{1,5})$/
이러한 요 구 를 만 났 습 니 다.전단 에서 list 집합 이 들 어 왔 습 니 다.배경 에서 모든 대상 의 경위도 가 합 법 적 인지 확인 하고 합 법 적 인 것 은 0 을 표시 하 며 합 법 적 이지 않 은 것 은 2 를 표시 한 다음 에 전단 에서 배경 으로 전 달 된 json 데 이 터 를 가 져 와 렌 더 링 합 니 다.
코드 는 다음 과 같 습 니 다:
package com.test;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.regex.Pattern;
/**
* @author riemann
* @date 2020/01/03 21:45
*/
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;
}
}
자바 경위도 정규6 비트 소수 경위도 정규 일치
1.순 전 히 프로젝트 기록 하기
2.매 칭 경도 적용(-180.00000~180.00000)
2.위도 매 칭 적용(-90.000000~90.00000)
//
public static final String LNG_PATTERN = "^[\\-\\+]?(0(\\.\\d{1,6})?|([1-9](\\d)?)(\\.\\d{1,6})?|1[0-7]\\d{1}(\\.\\d{1,6})?|180(\\.0{1,6})?)$";
//
public static final String LAT_PATTERN = "^[\\-\\+]?((0|([1-8]\\d?))(\\.\\d{1,6})?|90(\\.0{1,6})?)$";
public static void main(String[] args) {
Pattern p = Pattern.compile(LNG_PATTERN);
System.out.println(p.matcher("181").matches());
System.out.println(p.matcher("180.001").matches());
System.out.println(p.matcher("180.0000").matches());
}
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.