XRegExp 関数を純粋な 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;
}