Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中对字符串执行多个if语句时,字符串不会更改_Javascript_Regex - Fatal编程技术网

在javascript中对字符串执行多个if语句时,字符串不会更改

在javascript中对字符串执行多个if语句时,字符串不会更改,javascript,regex,Javascript,Regex,这是我的变量,我用阿拉伯语做了一些正则表达式,需要更改输入的文本字母及其颜色 let re_alef = /([\u0621-\u064A]ا+)/g; let re_ya2 = /([\u0621-\u064A]ي+)/g; let re_waw =/([\u0621-\u064A]و+)/g; let match =text.match(re); 在这个词中,如果我要求它改变颜色,这是正确的,如果我删除前一个if的代码,这是正确的 任何帮助都将不胜感激!

这是我的变量,我用阿拉伯语做了一些正则表达式,需要更改输入的文本字母及其颜色


    let re_alef = /([\u0621-\u064A]ا+)/g;
    let re_ya2 = /([\u0621-\u064A]ي+)/g;
    let re_waw =/([\u0621-\u064A]و+)/g;
    let match =text.match(re);

在这个词中,如果我要求它改变颜色,这是正确的,如果我删除前一个if的代码,这是正确的


任何帮助都将不胜感激!谢谢大家!

你的正则表达式很好。就替换而言,只需在输入文本上按需要多次链接替换即可。不需要测试字符串长度,如果太短,正则表达式无论如何都会失败。以下是一个工作示例:

let text=';
console.log('text:'+text);
$('#text').html(text);
设re_alef=/([\u0621-\u064A]ا+)/g;
设re_ya2=/([\u0621-\u064A]ي+)/g;
设re_waw=/([\u0621-\u064A]و+)/g;
让结果=文本
.更换(更换“1美元”)
.更换(更换2,'1')
.更换(重新命名,$1');
console.log('结果:'+结果);
$('#result').html(result)
.clr红色{
颜色:红色;
}
.clr绿色{
颜色:绿色;
}
.clr蓝色{
颜色:蓝色;
}

match.forEach(element => {
let el = element.split("");
if(re_alef.test(element) && element.length >3){
        // console.log(element.replace(/([\u0621-\u064A]ا+)/g , '<span class="clr-red">$1</span>'));

        result += element.replace(re_alef , '<span class="clr-red">$1</span>') + ' ' +
        element.replace(re_ya2 , '<span class="clr-red">$1</span>') + ' ';
       }
       else if(re_ya2.test(element) && element.length >3){
        // console.log(element.replace(/([\u0621-\u064A]ا+)/g , '<span class="clr-red">$1</span>'));

        result += element.replace(re_ya2 , '<span class="clr-red">$1</span>') + ' ';
       }
       else if(re_waw.test(element) && element.length >3){
        // console.log(element.replace(/([\u0621-\u064A]ا+)/g , '<span class="clr-red">$1</span>'));

        result += element.replace(re_waw , '<span class="clr-red">$1</span>') + ' ';
       }
       else{
        result += '<span class="clr-black">' + element + ' </span>';
       }
    });
العالمية