2012-04-23 5 views
-1

문제점은 내 html5 패턴 속성과 함께 작동하는 자바 스크립트 코드를 만들고 싶다는 것입니다.JavaScript가있는 HTML5 패턴

패턴 자체는 첫 번째 문자는 대문자 여야하며 최대 12 자이어야 함을 나타냅니다. 이것은 내가 지금까지 가지고있는 것이다. Juhana 덕분에 더 좋은 패턴 코드를 얻을 수있었습니다.

^[A-Z][A-Za-z]{0,11}$ 

은 자바 스크립트는 즉시 사람이 필드에 자신의 입력으로 오류를 만드는 것을 화면에 말해 그것과 정확히 어떤 문제가 지정되어있다. 패턴 규칙을 사용하는 방법조차 모르기 때문에 코드를 가지고 있지 않습니다.

나는 1 주일 동안 이것으로 지금 붙어 있었고, 나는 그것을 이해할 수 없다.

감사합니다.

+5

를 참조하십시오. 너 뭐 해봤 니? 당신의 코드는 어디에 있습니까? – Joseph

+0

패턴으로 무엇을 하려는지 알 수 없습니다. '^ [A-Z] [A-Za-z] {0,11} $'는 요구 사항을 커버하지 않습니까? – JJJ

+0

나의 패턴을 고쳐 준 Juhana! 왜 내가 코드에 다른 모든 규칙을 추가했는지 모르겠다 ... 이제는 문제가있는 유일한 것은 자바 스크립트를 사용하여 패턴 자체에 정확히 무엇이 잘못된지 즉시 보여줍니다 ... – shade917

답변

0

주어진 문자열에서 오류를 식별 할 수있는 유일한 기회는 다음과 같습니다. 다음은 정규식을 분리하고 문자열을 반복해야합니다.

정규식이 매우 쉽기 때문에 ^[A-Z]으로 시작하여 첫 번째 Symbol이 문자를 계산하는지 확인할 수 있습니다.

그 후에는 다음과 같이 이동 :

function check(string){ 

    var error = false, 
     position = -1; 

    loop : for(i=1;i<string.length;i++){ 
     var res = string.substring(i,i+1).match(/[A-Za-z]/); 
     if(!res){ 
      position = i+1; 
      error = true; 
      break loop; 
     } 
    } 
    return {'error':error,'position':position}; 
} 


var check = check("aasfcd"); 

if (check.error){ 
    document.write("Error occured on position: "+check.position); 
}else{ 
    document.write("Your string is okay"); 
} 

​ 

코드 자체에 대한 이야기하자 example fiddle

관련 문제