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 回答