2016-10-19 4 views
1

그래서 textarea이 있고 jQuery 및 Regex를 사용하여 프런트 엔드 유효성 검사를하고 있습니다.Javascript - 입력에 하나 이상의 숫자가 있는지 확인

  • 이 이
  • 특수 문자를
  • 요구에 적어도 하나의 숫자

을 포함 할 수는 5-12 문자이 있어야 다음과 같이 입력

기준은 내가 고심하고있는 마지막 점.

내가 처음 두 기준의 유효성을 검사하고 방법입니다 사전에

if (charsLength < 5 || charsLength > 12) { 
         alert("Please ensure your Unique ID is between 5 and 12 characters."); 
        } 
        if(/^[a-zA-Z0-9- ]*$/.test(uniqueIDContent) == false) { 
         alert('Your Unique ID contains illegal characters.'); 
        } 

감사를

당신은 입력에 적어도 숫자의 존재를 시행하는 내다 추가 할 수 있습니다
+0

가능한 복제 http://stackoverflow.com/questions/17364013/at -last-one-number-in-input-field-jquery) –

+0

사용자 이름이나 사용자 ID를 (사용자가 원하는대로) 제한하는 것은 무엇입니까? 특히 "적어도 하나의 숫자"의 것. – Mike

+0

@Mike 그러면 생성되는 코드에 클라이언트 전자 상거래 제품의 일부가 필요합니다. 묻지 마십시오. P – dwinnbrown

답변

1

:

/^(?=\D*\d)[a-zA-Z0-9 -]+$/ 

(?=\D*\d)은 필드에 숫자가 하나 이상 있다고 주장하는 긍정적 인 미리보기입니다.

+0

그래, 고마워 .- 내가 정확히 어떻게 if 문에 구현할 수 있을까? 나는'uniqueIDContent'라고 불리는'var'을 미리 가지고 있습니다. – dwinnbrown

+0

'/^(? = \ D * \ d) [a-zA-Z0-9 -] + $/.test (uniqueIDContent) == false' – anubhava

+1

죄송합니다. 그냥 알아 냈습니다 * doh * – dwinnbrown

2

미리보기를 사용하여 다음 문자열에서 특정 조건이 true인지 확인할 수 있습니다.

이 경우 해당 조건은 이며 ""문자열의 어느 곳에서나 적어도 하나 이상의 10 진수, 즉 (?=.*\d)입니다.

그러므로 우리가 얻을 :

^(?=.*\d)[ a-zA-Z0-9-]{5, 12}$ 

이 표현은 길이 검사를 포함한다.

당신은 범위를 만드는 실수 방지하기 위해, 그 중 맨 처음 또는 맨 마지막 문자를 만드는 습관을, 문자 클래스에 -을 허용합니다.

+0

답변을 주셔서 감사합니다. 왜 우리가 '10 진수 한자리'를 찾고 있는지 설명해 주시겠습니까? 감사합니다! – dwinnbrown

+0

한자리 수를 찾자 마자 look-ahead 표현식이 충족되기 때문에. – Tomalak

0

U 그것을 시도 할 적어도 번호 :

^(?=.*\d)+[a-zA-Z0-9]{5,12} 
[입력 필드에 적어도 하나의 수 (jQuery를) (의
관련 문제