자바 스크립트에서 정규 표현식이 필요합니다. 양수와 소수 만 사용할 수 있습니다. 이것은 내가 가진 것이지만 뭔가 잘못되었습니다 - 그것은 하나의 양수를 취하지 않는 것 같습니다.양수와 소수 만 허용하는 정규 표현식
예를 들어, 9
은 작동하지 않습니다. 이 구조를 어떻게 바꿀 수 있습니까? 적어도 하나 이상의 양수가 있으면 작동할까요?
자바 스크립트에서 정규 표현식이 필요합니다. 양수와 소수 만 사용할 수 있습니다. 이것은 내가 가진 것이지만 뭔가 잘못되었습니다 - 그것은 하나의 양수를 취하지 않는 것 같습니다.양수와 소수 만 허용하는 정규 표현식
예를 들어, 9
은 작동하지 않습니다. 이 구조를 어떻게 바꿀 수 있습니까? 적어도 하나 이상의 양수가 있으면 작동할까요?
/^[+]?([0-9]+(?:[\.][0-9]*)?|\.[0-9]+)$/
일치
0
+0
1.
1.5
.5
하지만
.
1..5
1.2.3
-1
편집 :
하여 처리 할 수있는 과학적 표기법 (1e6
), 당신은 어떤 제로, 당신은 할 수 없다 당신이 엄격하게 양수를 원하는 경우에
/^[+]?([0-9]+(?:[\.][0-9]*)?|\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/
작업을 수행 할 수 있습니다처럼 대해 어떻게
/^[+]?([1-9][0-9]*(?:[\.][0-9]*)?|0*\.0*[1-9][0-9]*)(?:[eE][+-][0-9]+)?$/
네, 이건 꽤 좋은데 .. 문제를 찾을 수 없습니다. –
@MikeChristensen, 과학 표기법을 다루지는 않지만, 그것을 처리하기 위해'$ '앞에 선택적인 [[eE] [+ -]? [0-9] +'를 칠할 수 있습니다. –
할 일이 몇 가지 방법이 있습니다이 당신의 필요에 따라 :
/^[0-9.]+$/
일치 1
및 1.1
하지만 -1
/^[0-9]+\.[0-9]+$/
일치 1.1
하지만 1
또는 일반적으로 -1
, 내가 사용하는 것이 좋습니다하지 표현식을 작성하기위한 간단한 regExp 참조 가이드 (예 : http://www.regular-expressions.info/)를 사용한 다음 java 스크립트 바로 브라우저 콘솔 :
"123.45".match(/^[0-9.]+$/)
'...'도 포함됩니다. – NT3RP
사실 - 편집하기 전에 질문이 더 넓어진 것 같았습니다. –
:
^[.]?[0-9]+[.]?[0-9]*$
그것도'.0.0'과 일치하지 않을까요? – NT3RP
네, 그건 하나의 문제입니다. "or"절을 사용하는 것이 최선의 방법이라고 생각합니다. –
당신은 시도 할 수 있습니다 이 -
^\d{0,10}(\.\d{0,2})?$
테스트 할 멋진 사이트뿐만 아니라 자신의 정규 표현식에 대한 설명을 얻으려면 https://regex101.com/
각 [0-9] 문자 클래스 다음에 +가 있기 때문에 십진수가없는 숫자는 최소 두 자릿수가되어야합니다. –