0

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;
    }
4

1 に答える 1

1

英数字以外のすべての文字を_次のように置き換えます。

s = s.replace(/[^0-9A-Za-z]/g, '_');
于 2014-11-19T07:41:25.657 に答える