2010-01-12 6 views
0

내가 입력 필드의 유효성을 검사하고 AJAX
내 자바 스크립트 코드를 사용하여 저장하는 것을 시도하고있다 제거하는 정규 표현식 : 여기자바 스크립트 문자 또는 공간 이외의 문자

<script type='text/javascript'> 
function addICValidate() { 
    var invalidString=/[^a-zA-Z\s]/; // Alphabets with spaces only 
    var searchQuery=document.getElementById('addICName').value; 
    var validQuery=searchQuery.replace(invalidString,""); 
    document.getElementById('addICName').value=validQuery; 

    return true; 
} 

function addIC() { 
    if(addICValidate()) { 
     hideAddICBox(); 
     var ajaxObj=newAjaxObj(); 
     if(ajaxObj) {  
      ajaxObj.onreadystatechange=function() { 
       if(ajaxObj.readyState==4) { 
         hideAddICBox(); 
         addUpdateItemForm(); 
       } 
      } 

      var ICName=document.getElementById('addICName').value; 
      url="addICSubmit.php?ICName="+ICName; 
      url = encodeURI(url); 

      ajaxObj.open("GET",url,true); 
      ajaxObj.send(null); 
     } 
    } 
    return false; // Required 
} 
</script> 

그리고는 HTML입니다 :

<form id='addICForm' name='addICForm' action='#' onsubmit='return addIC()'> 
<table width=100% align='center' id='addICAttList'> 
    <tr> 
     <td>Name</td> 
     <td><input type='text' id='addICName' name='addICName' /></td> 
    </tr> 
    <tr> 
     <td align='right'><input type='submit' value='Add Item' /></td> 
     <td align='left'><input type='reset' value='Clear' /></td> 
    </tr> 
</table> 
</form> 

하지만 교체가 작동하지 않습니다! 온라인 자바 스크립트 정규식 테스터에서 정규 표현식을 사용했는데 성공했습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

1

이 정규식은 javascript의 replace과 결합되어 유효하지 않은 문자의 첫 번째 인스턴스 만 바꿉니다. Regex 문자열 끝에 g 옵션을 추가해보십시오. /[^a-zA-Z\s]/g

+0

휴! 고맙습니다. – Bojack

관련 문제