숫자를 확인하는 정규식이 필요하지만 소수점 뒤의 숫자는 필요하지 않습니다. 즉.
123
123.
123.4
모두 유효할까요
123..
유효하지 않다
누구라도 대단히 감사하겠습니다!
답변
다음을 사용하십시오.
/^\d*\.?\d*$/
^
-줄의 시작;\d*
-0 개 이상의 숫자;\.?
-선택적 점 (정규식에서는.
특수 문자 이므로 이스케이프 됨 )\d*
-0 개 이상의 숫자 (소수점)$
-줄 끝.
이것은 0.5와 같은 선행 0을 요구하는 대신 .5 십진수를 허용합니다.
답변
/\d+\.?\d*/
하나 이상의 숫자 ( \d+
), 선택적 마침표 ( \.?
), 0 개 이상의 숫자 ( \d*
).
사용 또는 정규식 엔진에 따라 시작 / 끝 줄 앵커를 추가해야 할 수 있습니다.
/^\d+\.?\d*$/
답변
올바르게 수행하려면 다음과 같은 정규식이 필요합니다.
/^[+-]?((\d+(\.\d*)?)|(\.\d+))$/
확장 된 수정자를 사용하는 공백이있는 동일한 표현식 (Perl에서 지원됨) :
/^ [+-]? ( (\d+ (\.\d*)?) | (\.\d+) ) $/x
또는 의견 :
/^ # Beginning of string
[+-]? # Optional plus or minus character
( # Followed by either:
( # Start of first option
\d+ # One or more digits
(\.\d*)? # Optionally followed by: one decimal point and zero or more digits
) # End of first option
| # or
(\.\d+) # One decimal point followed by one or more digits
) # End of grouping of the OR options
$ # End of string (i.e. no extra characters remaining)
/x # Extended modifier (allows whitespace & comments in regular expression)
예를 들어 다음과 일치합니다.
- 123
- 23.45
- 34.
- .45
- -123
- -273.15
- -42.
- -.45
- +516
- +9.8
- +2.
- +.5
그리고 다음이 아닌 숫자를 거부합니다.
- . (소수점 하나)
- -. (마이너스 소수점)
- +. (소수점 더하기)
- (빈 문자열)
더 간단한 솔루션은 유효한 숫자를 잘못 거부하거나 이러한 숫자가 아닌 것과 일치시킬 수 있습니다.
답변
이 정규식을 시도하십시오.
\d+\.?\d*
\ d + 숫자 (선택적 십진수 앞자리)
.? 선택적 소수 (? 한정자로 인해 선택적)
\ d * 소수 이후 선택적 숫자
답변
모든 요구 사항과 일치하기 때문에 이것이 최선이라고 생각합니다.
^\d+(\\.\d+)?$
답변
나는 다음을 사용하게되었다.
^\d*\.?\d+$
이로 인해 다음이 무효화됩니다.
.
3.
답변
이것을 사용할 수 있습니다.
^\d+(\.\d)?\d*$
일치 :
11
11.1
0.2
일치하지 않음 :
.2
2.
2.6.9