2016-11-01 1 views
0

패턴 속성을 사용하여 입력량 필드의 유효성을 검사하려고했습니다. 하지만 제 정규 표현은 작동하지 않습니다. 확인해주세요정규식이 널 또는 1-9 자리 허용

^(?:[1-9]\d*|)$ 

제발 도와주세요. 내 입력 필드는 null 또는 1 ~ 9 자리를 허용해야합니다. 0 또는 문자 및 기호를 허용하지 않습니다.

AngulrJS 코드 :

<input class="form-control" name="quantity" ng-model="quoteList.quantity" placeholder="Quantity" required="" min="1" ng-pattern="/^(?:[1-9]\d*|)$/"> 
<div ng-show="userForm.$submitted || userForm.quantity.$touched"> 
    <span ng-show="userForm.quantity.$error.pattern" class="text-danger">Not valid number!</span> 
</div> 
+0

정규식이 _single_ 번호 또는 복수 번호와 일치하도록 하시겠습니까? –

+0

복수 숫자 – Chinmay235

+0

숫자 1에서 9까지의 숫자가 아닌 숫자 1 - 9 ** **을 원합니다 (즉, 0 제외) –

답변

2

여러 번호를 1-9 사용을 일치 시키려면 :이 NULL 값에 대한 점검과 관련하여수록

^[1-9]*$ 

이 정규식은 좋은 것입니다. 당신은 또한 널 (null)을 허용 할 경우에, 당신은, 컨트롤러에 명시 적으로 로직을 포함해야한다 즉

form.input.$valid || quoteList.quantity === null 

업데이트 :

당신이 정말로 묻고 싶은 것은 수를 확인하는 방법을 것 같습니다 으로 시작하고 1-9으로 시작하지만 그 다음에 이면 자릿수가 올 수 있습니다. 그렇다면이 정규식을 시도하십시오.

^[1-9][0-9]*$ 

다시 말해서 컨트롤러에 Null 값을 체크인 할 수도 있고 허용 할 수도 있습니다.

+0

null 값은 허용되지 않습니다. – Chinmay235

+0

예, 일부 엔진에서는 그렇습니다. 어떤 도구/언어를 사용하고 있습니까? –

+0

AngularJS를 사용하고 있습니다. – Chinmay235

0
^(?:[1-9]*)$ 

하는 것은 충분해야한다 .

+2

괄호는 지금 필요하지 않습니다 :-) –

+0

정답으로 표시되는 이유에 대해 자세히 설명해 주시겠습니까? –

+0

단순한 정규식입니다. 정교화가 필요하다고 생각하지 않지만 기본 사항 [기본 사항] (https://robots.thoughtbot.com/back-to-basics-regular-expressions)을 배우고 싶다면 –