2014-02-21 3 views
0

한 문자로만 유효성 검사 전화 번호를 만들고 싶습니다. 여기에 예가 나와 있습니다. XXX-XXXXXXX "-"만 입력하면됩니다. 여기 내 코딩 기능입니다.한 문자로만 전화 번호를 확인하는 방법

function val() 
{ 
    if(addform.staff_mobile_phone.value=="") 
    { 
     alert("Please enter the phone number"); 
     addform.staff_mobile_phone.focus(); 
     return false; 
    } 
    if(isNaN(addform.staff_mobile_phone.value)) 
    { 
     alert("Invalid Phone Number"); 
     addform.staff_mobile_phone.focus(); 
     return false; 
    } 
    if((addform.staff_mobile_phone.value).length<10) 
    { 
     alert ("Phone number should be minimum 10 digits"); 
     addform.staff_mobile_phone.focus(); 
     return false; 
    } 
    return true; 
} 

이 코드에 문제가있는 경우 도와주세요. 너의 도움이 정말로 필요해.

+2

한글자로만 된 전화 번호 는요? –

+1

정품 확인을 위해 정규식을 사용하지 않는 이유가 있습니까? –

+0

당신이 원한다면 [정규식] (http://regexlib.com/Search.aspx?k=phone) 정규 표현식을 사용할 수 있습니다. – Bhavik

답변

1

그것은 당신이 필요로하는 정확한 형식에 따라 달라집니다하지만과 같습니다 하이픈 (-) 다음에 세 자리 숫자로 구성된 모든 전화 번호와 일치 할 정규 표현식 위

/\d{3}-\d{7,}/.test("123-4567890") 

한 후 다음 적어도 7 자리 더.

하이픈이 필수가 아닌 경우, 당신은 (물음표 주) 사용할 수 있습니다 : 당신이 다음에 (12) (그래서 세 자리, 말, 자리의 총 수를 제한하려면

/\d{3}-?\d{7,}/.test("1234567890") 

을 그리고 하이픈 다음 7-9 이상의 숫자 뒤에)는 다음을 사용 :

/\d{3}-\d{7,9}/.test("123-456789012") 
0

나는 당신이 당신이 그것에 어떤 문자 구분을 피할 수를 유효성을 검사 할 말은 생각, 그래서 만들기 왜 '문자에 대한 그냥 작동 - '?

function normalizeInput(inputString) { 
    var vectorSeparatori = new Array(); 
    vectorSeparatori[0] = ' '; 
    vectorSeparatori[1] = '-'; 
    vectorSeparatori[1] = '/'; 
    //Remove also spaces 
    inputString= trim(inputString); 
    // 
    for (var i = 0; i < vectorSeparatori.length;i++) { 
     inputString = inputString.split(vectorSeparatori[i]).join(''); 
    } 

    return inputString ; 
} 

정규화 기능 (위와 동일)으로 전체 입력 값을 사전 처리하기 만하면됩니다. 더 많은 구분 기호를 추가하려면 vectorSeparatori 배열에 'em을 추가 한 다음 번호에 대한 유효성 검사를 수행하십시오. 전화 번호의 경우 100 % 실패 저장 확인이 없습니다 (아마도 내 이탈리아 전화 번호는 내가 본 적이있는 정규식 유효성 검사를 통과하지 못할 것입니다.) 그래서 여분의 문자를 제거하고 간단한 클라이언트 측만 수행하는 것이 더 좋습니다. 서버 측에 위임하면보다 엄격한 것을 검사합니다.

관련 문제