2013-06-12 2 views
3

나는 빈 공간을 '-'로 바꾸고 "*, %, ', @, $ .... 등의 다른 모든 기호를 사용해야하는 조건이 있습니다. 예를 들어 내가 실생활이라는 단어를 가지고 있다면 실사로 쓰여 져야한다. 또 하나의 예를 들어, 단어 소방관 협회가 있다면 소방관 협회로 써야한다.jquery를 사용하여 텍스트에서 특수 문자 제거

내가 좋아하는 jQuery를 사용하여 빈 공간을 대체 할 수

var product= $("#product").val().replace(/ /g,'-'); 

하지만 메신저

은 어떤 acheive하는 방법에 대한 어떤 제안이나 조언을 제공 할 수있는 특수 문자를 제거하기 위해 고군분투하는 감사

+1

http://stackoverflow.com/questions/4374822/javascript-regexp-remove-all-special-characters – lifetimes

답변

1

사용해보기 :

var product= $("#product").val().replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, ' ') 

바이올린 :http://jsfiddle.net/4YwNC/

+0

http://js.do/code/39537이 시도 jquery ..를 사용하여 onkeyup 이벤트에 대한 – Lucky

+1

@ 럭키 대단해! =) –

2

이 코드에 이것을 추가 :

//@Author Karl-André Gagnon 
if(String.prototype.replace){ 
    String.prototype.oldReplace = String.prototype.replace; 
    String.prototype.replace = function(find, replace){ 
     var stringReturned = this; 
     if(!find || !replace) return undefined; 
     if(find instanceof Array){ 
      if(typeof replace == 'string'){ 
       for(var i = 0; i < find.length; i++){ 
        stringReturned = stringReturned.oldReplace(find[i],replace); 
       } 
      }else if(replace instanceof Array && replace.length == 1){ 
       for(var i = 0; i < find.length; i++){ 
        stringReturned = stringReturned.oldReplace(find[i],replace[0]); 
       } 
      }else if(replace instanceof Array){ 
       for(var i = 0; i < find.length; i++){ 
        stringReturned = stringReturned.oldReplace(find[i],replace[i] ? replace[i] : ''); 
       } 
      }else{ 
       stringReturned = undefined; 
      } 
     }else{ 
      stringReturned = stringReturned.oldReplace(find,replace); 
     } 
     return stringReturned; 
    } 
} 

이것은 당신이 .replace()에 대한 인수로 배열을 전달 할 수 있습니다.

이어서 이렇게 수 (PHP를에 대체 등)

string.replace([/ /g, /["*%'@$]/g],['-', '']) 

basicly을 제 배열의 첫 번째 셀은 제 2 어레이의 제 셀에 의해 대체 될 것이다.

바이올린 : UR보고하는 경우 http://jsfiddle.net/6sk3n/

+0

왜 downvote? –