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

Простите об этом. Обновлен мой ответ, а также скрипка. –