2013-05-21 8 views
1

문자열이 영숫자임을 검증하기 위해 작성된 자바 스크립트가 있지만 허용 입력으로 하이픈 (-) 및 슬래시 (/)를 포함하는 코드를 추가하는 방법이 궁금합니다. 다음은 현재 코드입니다.특수 문자 유효성 확인

function validateAddress() { 
    var address = document.getElementById('address'); 

    if (address.value == "") { 
    alert("Address must be filled out"); 
    return false; 
    } else if (document.getElementById('address').value.length > 150) { 
    alert("Address cannot be more than 150 characters"); 
    return false; 
    } else if (/[^a-zA-Z0-9\-\/]/.test(address)) { 
    alert('Address can only contain alphanumeric characters, hyphens(-) and back slashs(\)'); 
    return false; 
    } 
} 
+1

하이픈과 슬래시를 문자 그룹에 추가 ...? – deceze

답변

10

단순히 문자 그룹에 추가하십시오. 물론, -/ 모두 이러한 맥락에서 특수 문자 (/-이 범위를 표현하는 정규식이 종료 됨), 당신은이 \ 앞에 그들을 탈출해야하기 때문에 :

function validateAddress(){ 
    var TCode = document.getElementById('address').value; 

    if(/[^a-zA-Z0-9\-\/]/.test(TCode)) { 
     alert('Input is not alphanumeric'); 
     return false; 
    } 

    return true;  
} 
+0

아, 간단합니다. 정보를 제공해 주셔서 감사합니다. – AJJ

+0

여기에는 à, è, ê 등이 포함됩니까? – AlexioVay

+0

@Vaia 아니요, 그렇지 않습니다. - 고급 RegExp 기능을 사용해야합니다. 여기에 대한 좋은 대답이 있습니다 (http://stackoverflow.com/a/8923865/356541). – Barney

1
function isValidCharacter(txtTitle) { 
    var title = document.getElementById(txtTitle); 
    var regExp = /^[a-zA-Z]*$/ 
    if (!regExp.test(title.value)) { 
     title.value = ''; 
     return false; 
     } 
     else {  
      return true; 
     } 
    } 


function Validation(){ 
var txtTitles = document.getElementById('txtTitle'); 
    if (isValidCharacter(txtTitles.id) == false) { 
    alert("Please enter valid title. No special character allowed.");   
    return false; 
    } 
} 



    $("#Btn").unbind("click").click(function() { 
     if (Validation() == false) { 

     } 
     else { 
       //success  
     } 
    } 
0

function namefun(c) 
      { 
       var spch=/[A-z\s]/ig; 
       var dig=/[0-9]/g; 
       var ln=c.length; 
       var j=1; 
       for(var i=0;i<ln;i++) 
       { 
        var k=c.slice(i,j); 
        if((spch.test(c)==false)||(dig.test(c)==true)) 
        { 
         alert("Invalid name"); 
         document.getElementById('tname').value=""; 
         ln=0; 
         setTimeout(function(){tname.focus();}, 1); 
         //return false; 
        } 
        j++; 
       } 

      }