Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 如何使用jquery将每个单词的最后一个字符替换为X?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jquery将每个单词的最后一个字符替换为X?

Javascript 如何使用jquery将每个单词的最后一个字符替换为X?,javascript,jquery,Javascript,Jquery,在上面的代码中,我想用X替换每个单词的一半,但这里我用X替换最后5个字符,我得到的字符串像Mike hXXXXX,但我想要像MiXX husXXX。那么,我该怎么做呢?请帮帮我 谢谢首先拆分字符串并修改所需的单词: var str_owner = $("#owner").val(); var owner_length = str_owner.length/2; var owner = str_owner.slice(0, -5)+"XXXXX"; $(&q

在上面的代码中,我想用X替换每个单词的一半,但这里我用X替换最后5个字符,我得到的字符串像Mike hXXXXX,但我想要像MiXX husXXX。那么,我该怎么做呢?请帮帮我


谢谢

首先拆分字符串并修改所需的单词:

var str_owner = $("#owner").val();
var owner_length = str_owner.length/2;
var owner = str_owner.slice(0, -5)+"XXXXX";
$("#owner_name").html(owner);

试试这个。

这符合你的要求吗

逻辑

从dom中选择需要编码的内容。 如果值包含多个单词,则在中间拆分单个单词,取所选单词的前半部分,并将“X”附加到剩余的半部分。 如果单词长度为奇数,则如示例中所述,长度为7,用实际字母填充前4个,用“X”填充后3个。如果您需要反向模式,即前3个为实际字母,其余4个为“X”,请在函数中使用Math.floor。 $document.readyfunction{ $“替换”。单击函数E{ var str_owner=$owner.text; var split_str=str_owner.split'; var所有者=; split_str.forEachstr=>{ var owner_length=Math.ceilstr.length/2; var owner\u visible\u str=str.slice0,owner\u length; owner+=owner\u visible\u str+'X'。repeatstr.length-owner\u visible\u str.length+''; } $owner\u name.htmlowner; }; };

John Mark Stephen


替换因为字符串在JS中是数组,所以可以创建两个子字符串并在第二个上迭代,然后在子字符串1中为子字符串2的每个元素添加x

var str='monty'; var sub1=str.substr0,Math.floorstr.length/2; 变量sub2=str.substrath.floorstr.length/2,str.length; sub2的forlet i{ sub1+=x; }
console.logsub1 这是我目前的解决方案。 我特意添加了由4,2,1,5个字符组成的字符串

var str='这是一个测试' var strArr=str.split“”, var final_string_arr=[]; 设i=0; 而strArr.length>i{ var this_str_length=parseIntstrArr[i].length/2; var remain=strArr[i].长度-此长度; var-remStr=; 如果此长度大于0{ remStr=strArr[i]。切片0,-此长度+x。重复此长度; }否则{ remStr=strArr[i]; } 最后一根管柱到达pushremStr; i++; }
console.logfinal\u string\u arr.join;一个单词中有多少个奇数字符?如果它是奇怪的,那么它应该采取相应的措施@lastr2d2@Klint请检查这个
let str_owner_words = $('#owner').val().split(' ');
for(let i = 0; i < str_owner_words.length; i++){

  const cut_length = Math.round(str_owner_words[i].length / 2);
  str_owner_words[i] = str_owner_words[i].slice(0, -1 * cut_length) + 
    "X".repeat(cut_length);

}

let result_string = str_owner_words.join(" ");