2014-11-19 2 views
0

XRegExp 함수를 순수한 JavaScript RegExp로 변환하려고합니다. 기본적으로 영숫자가 아닌 모든 문자는 공백을 포함하여 "_"로 바뀝니다.XRegExp to JavaScript RegExp

이 나는 ​​다음과 같은 코드가

This_is_a_sample_text____________

같은 샘플 텍스트 * \ &^%의 $의 # @! ~이 '

이 될 것입니다

텍스트입니다.

var text = "This is a sample text *\&^%$#@!~'"; 
var matchAlphaNumeric = new XRegExp('[\\p{L}\\p{N}]'); 
var result = substituteNotAcceptedCharactersforTag(text, matchAlphaNumeric); 
function substituteNotAcceptedCharactersforTag(text, regex) { 
     var tagWithAlphaAndNumeric = ''; 
     for (var i = 0; i < text.length; i++) { 
      var characterBeingTested = text.charAt(i); 
      if (XRegExp.test(characterBeingTested, regex) === true) { 
       tagWithAlphaAndNumeric += characterBeingTested.toLowerCase(); 
      } else { 
       tagWithAlphaAndNumeric += '_'; 
      } 
     } 
     return tagWithAlphaAndNumeric; 
    } 

답변

0

_ 모든 영숫자가 아닌 문자를 대체합니다

s = s.replace(/[^0-9A-Za-z]/g, '_'); 
+0

결과는 올바르지 않습니다. 확인 [jsfiddle] (http://jsfiddle.net/59wv7tsh/) –

+0

죄송합니다. 내 답변과 바이올린을 업데이트했습니다. –