2011-08-18 4 views
-2

값이 10보다 작 으면 정규식을 수행해야하며 일부 오류 메시지가 표시됩니다. 정규식을 사용하여 어떻게 할 수 있습니까? 나는 정규 표현식을 배우기 때문에 이에 대한 지식이 거의 없다. 도와주세요?javascript 정규 표현식

+9

'if (value <10)'그냥 할 수 없습니까? – Vache

+4

이것은 정규 표현식의 적용 가능한 사용법과 같지 않습니다 ... 정규 표현식은 값을 검사하는 것이 아니라 패턴 일치를위한 것입니다. – Tejs

+0

이와 같이 숫자 비교 연산에 regex를 사용할 필요가 없습니다. Vache의 솔루션을 참조하십시오. –

답변

2

값 (아마 숫자를 의미 함)이 10 미만인지 확인하기 위해 정규 표현식이 적절하지 않음을 확인했습니다.

if (myValue < 10) { 
    doSomething(); 
} 

정규 표현식은 주로 문자열 패턴 작업에 사용되며 이와 같은 숫자 연산이 아닙니다.

2

정상적인 자바 스크립트 수학을 사용하기를 권합니다. 정규 표현식은 문자열이 아닌 숫자를 처리하기위한 것입니다. 당신이 정말로 필요로하는 것은이 : 그것은 0-9에서 양수를 받아

/^(\+?0*|-\d*)\d(\.\d+)?$/ 

을, 또는 : 당신이 이것에 대한 정규식을 사용해야하는 경우, 그러나

if (val < 10) { 
    alert(message); 
} 

이 작동합니다 음수, 선행 0 및 소수 자릿수 무시 |

-1

당신은 OR 전에 다음 정규식

\b[0-9]{1}\b|-\b[0-9]+\b 

첫 번째 부분을 사용할 수 있습니다 단어 경계에서 0에서 9까지의 숫자를 찾는 데 사용되며, 두 번째 부분은 OR | -v 숫자를 캡처하는 데 사용됩니다.

정규식을 다중 행 및 글로벌 플래그로 표시해야합니다.

+0

값이 10보다 큰지 확인합니다. 즉 10보다 큰 경우 오류 메시지를 알립니다. 내가 필요한 것은 사용자가 10 – rubyist

+0

보다 작은 값을 입력하면 오류 메시지를 경고하기 위해이 정규 표현식은 10보다 작은 모든 숫자를 표시하고 정규 표현식의 왼쪽 부분은 0에서 9까지의 숫자를 처리하며 정규 표현식의 왼쪽 부분은 -ve 숫자를 처리합니다. 전체 정규식은 다음과 같습니다./\ b [0-9] {1} \ b | - \ b [0-9] + \ b/gm –

+0

'{1}'은 정규식에서 항상 중복됩니다. 함축되어 있습니다. –