반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- ArrayList
- vscode
- Button
- Java
- replace
- js
- 문자열
- table
- map
- CSS
- input
- javascript
- html
- string
- Visual Studio Code
- IntelliJ
- HashMap
- date
- 자바
- CMD
- 배열
- Array
- list
- json
- 정규식
- 자바스크립트
- 이클립스
- 이탈리아
- 인텔리제이
- Eclipse
Archives
- Today
- Total
어제 오늘 내일
[Javascript] 정규식으로 문자열이 숫자인지 체크하기 본문
정규식으로 문자열이 숫자인지 체크하기
JavaScript에서 문자열이 숫자만으로 이루어졌는지 확인하기 위해 다양한 정규표현식을 사용할 수 있습니다.
방법 1: 기본 정규표현식
가장 기본적인 형태로, 문자열이 0에서 9까지의 숫자로만 이루어졌는지 검사합니다.
function isNumeric(str) {
return /^[0-9]+$/.test(str);
}
console.log(isNumeric("12345")); // true
console.log(isNumeric("123a5")); // false
console.log(isNumeric("00123")); // true
console.log(isNumeric("")); // false (빈 문자열도 false 처리)
console.log(isNumeric(" ")); // false (공백도 false 처리)
^: 문자열의 시작[0-9]: 숫자 (0부터 9까지)+: 하나 이상의 숫자가 반복$: 문자열의 끝
방법 2: \d 사용
\d는 숫자(digit)를 의미합니다. [0-9]와 동일한 역할을 합니다.
function isNumeric(str) {
return /^\d+$/.test(str);
}
console.log(isNumeric("12345")); // true
console.log(isNumeric("67890")); // true
console.log(isNumeric("123abc")); // false
console.log(isNumeric("12 34")); // false (공백 포함)
console.log(isNumeric("")); // false
\d: 숫자 (0부터 9까지)+: 하나 이상의 숫자가 반복
방법 3: 숫자의 길이 제한
숫자의 길이를 제한하고 싶다면 {n,m}을 사용할 수 있습니다. 예를 들어, 최소 1개에서 최대 10자리까지 검사:
function isNumeric(str) {
return /^\d{1,10}$/.test(str);
}
console.log(isNumeric("12345")); // true
console.log(isNumeric("9876543210"));// true
console.log(isNumeric("12345678901"));// false (11자리)
console.log(isNumeric("")); // false
{1,10}: 최소 1개, 최대 10개의 숫자
방법 4: + 대신 * 사용
*는 0개 이상의 숫자를 허용합니다. 즉, 빈 문자열도 true가 됩니다.
function isNumeric(str) {
return /^\d*$/.test(str);
}
console.log(isNumeric("")); // true (빈 문자열도 true)
console.log(isNumeric("12345")); // true
console.log(isNumeric("00123")); // true
console.log(isNumeric("123abc")); // false
*: 0개 이상- 주의: 빈 문자열(
"")도 숫자로 인식됩니다.
방법 5: 양수만 허용 (+ 기호 포함)
양수만 허용하고 싶다면 + 기호를 포함시킬 수 있습니다.
function isNumeric(str) {
return /^\+?\d+$/.test(str);
}
console.log(isNumeric("+12345")); // true
console.log(isNumeric("12345")); // true
console.log(isNumeric("-12345")); // false (음수는 허용 안함)
console.log(isNumeric("123abc")); // false
\+?:+기호가 있을 수도 있고 없을 수도 있음-는 허용하지 않으므로 음수는false
방법 6: 음수와 양수 모두 허용
양수와 음수 모두 허용하려면 - 기호도 포함시킵니다.
function isNumeric(str) {
return /^[-+]?\d+$/.test(str);
}
console.log(isNumeric("+12345")); // true
console.log(isNumeric("-12345")); // true
console.log(isNumeric("12345")); // true
console.log(isNumeric("-abc")); // false
console.log(isNumeric("+-123")); // false (잘못된 형식)
[-+]?:-또는+가 있을 수도 있고 없을 수도 있음- 숫자만이거나,
+숫자,-숫자모두 허용
방법 7: 소수점 포함 숫자 검사
소수점이 포함된 실수도 검사하고 싶다면 . 기호를 포함합니다.
function isNumeric(str) {
return /^-?\d+(\.\d+)?$/.test(str);
}
console.log(isNumeric("123.45")); // true
console.log(isNumeric("-123.45")); // true
console.log(isNumeric("123")); // true
console.log(isNumeric("123.")); // false
console.log(isNumeric(".45")); // false
(\.\d+)?: 소수점 이하 숫자가 있을 수도 있고 없을 수도 있음.은 특수 문자이므로\.처럼 이스케이프 처리
방법 8: 공백 포함 숫자 검사
공백이 포함될 수 있는 숫자를 검사하고 싶다면 공백을 제거한 후 검사합니다.
function isNumeric(str) {
return /^\d+$/.test(str.trim());
}
console.log(isNumeric(" 12345 ")); // true
console.log(isNumeric(" 00123")); // true
console.log(isNumeric("1 2345")); // false (중간에 공백 있음)
console.log(isNumeric("")); // false
str.trim(): 문자열 양 끝의 공백 제거- 문자열 중간에 공백이 있는 경우는
false
정규식을 활용하여 문자열의 숫자여부를 판단하는 방법을 알아보았습니다.
반응형
'IT > Javascript' 카테고리의 다른 글
| [Javascript] 정규식으로 핸드폰 번호 체크하기 (하이픈 포함, 미포함) (0) | 2025.02.25 |
|---|---|
| [Javascript] 정규식으로 전화번호 체크하기 (하이픈 포함, 미포함) (0) | 2025.02.25 |
| [Javascript] switch 조건문 사용법 및 활용 예제 (0) | 2025.02.24 |
| [Javascript] 정규식으로 문자열 공백 제거하기 (7) | 2024.04.03 |
| [Javascript] textarea 값 가져오기, 넣기, 지우기 (0) | 2024.02.04 |
Comments