2014-12-20 4 views
0

텍스트 상자에서 이름 값을 테스트하고 정규 표현식을 사용하여 a-z, A-Z의 모든 문자를 평가하고 경고 상자를 사용하여 12자를 초과하지 않을 수 있습니까?경고가있는 정규 표현식 이름 테스트

function validateName() 

{ 
    var character = getName(); 

    var reName = /^[A-Z]|[a-z]{0,12}$/; 
    if (reName.test(character)) { 
     alert("Valid Name "); 
    } else { 
     alert("Invalid Name "); 
    } 

    return character; 
}; 

function getName() 
//var getName = function(box) 
{ 
    var name = document.getElementById("aName").value; 
    return name; 
}; 

document.getElementById("output").innerHTML = "Name" + validateName(); 
+0

^[a-zA-Z] {0,12} $를 사용하지 않으시겠습니까? – SMA

답변

0

귀하의 정규식은 무엇 현재하는 일은 문자열의 끝에 문자열이나 [a-z]{0,12}의 시작 부분에 [A-Z]를 찾을 단지

var reName = /^[a-z]{0,12}$/i; 

수 있습니다. 그러나 그것은 당신이 원하는 것이 아닙니다. 당신이 당신의 정규식을 원한다면하지만 올바른 방법으로, 당신은

/^([A-Z]|[a-z]){0,12}$/ 

을 원하는 것이 아니라 그냥 i 내가 위에서 언급 한 사례 플래그를 무시하고 정규 표현식을 사용하여 사용할 수 있기 때문에 그것은 과잉 때문이다.

+0

Thnak 당신이 그 문제를 해결했다는 것을 확신합니다. – Heisenberg

+0

@Heisenberg가 당신을 도와 준 것을 기쁘게 생각합니다. :) –