Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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中,如何在每组数字后插入字符?_Javascript_Jquery - Fatal编程技术网

在JavaScript中,如何在每组数字后插入字符?

在JavaScript中,如何在每组数字后插入字符?,javascript,jquery,Javascript,Jquery,基于下面简单的jQuery/JavasScript代码,当单击链接时,它会获取链接classname并删除单词sign,从而sign24x10变成24x10 我想做的是在24和10之后插入“,以及一个空格。这样24x10变成24“x 10”请记住,将会有大量这样的数字,因此数值总是不同的 有人能告诉我一种方法来修改我所拥有的,使新描述的添加工作吗?谢谢 <a href="sign24x10" class="sign24x10"> <small style="height

基于下面简单的jQuery/JavasScript代码,当单击链接时,它会获取链接
class
name并删除单词
sign
,从而sign24x10变成24x10

我想做的是在24和10之后插入
,以及一个空格。这样24x10变成24“x 10”请记住,将会有大量这样的数字,因此数值总是不同的

有人能告诉我一种方法来修改我所拥有的,使新描述的添加工作吗?谢谢

<a href="sign24x10" class="sign24x10">
    <small style="height: 50px; width: 120px;"></small>Size 24" x 10"
</a>

$("#sign-size-boxes a").on("click", function(e){
    signSizeStr = $(this).attr('class').replace("sign", "");
});

$(“#符号大小框a”)。在(“单击”上,功能(e){
signsizest=$(this.attr('class').replace('sign',');
});

您可以为此使用常规表达式:

signSizeStr = $(this).attr('class')
    .replace("sign", "")
    .replace(/(\d+)x(\d+)/g, '$1" x $2"');
还是一个电话

signSizeStr = $(this).attr('class')
    .replace(/sign(\d+)x(\d+)/g, '$1" x $2"');

您可以为此使用常规表达式:

signSizeStr = $(this).attr('class')
    .replace("sign", "")
    .replace(/(\d+)x(\d+)/g, '$1" x $2"');
还是一个电话

signSizeStr = $(this).attr('class')
    .replace(/sign(\d+)x(\d+)/g, '$1" x $2"');

我想你可以用
x
来分割。然后是concat,类似下面的东西

var a = '24x10';
var x = a.split('x');
x[0]+'" x '+x[1]+'"' // this should give you 24" x 10"

注意:这是一个演示代码,请相应地更改它

我想你可以用
x
来拆分

var a = '24x10';
var x = a.split('x');
x[0]+'" x '+x[1]+'"' // this should give you 24" x 10"

注意:这是一个演示代码,请相应地更改它

您可以使用普通的ol'regex

$("#sign-size-boxes a").on("click", function(e){
    matches = $(this).attr('class').match(/sign([0-9]+)x([0-9]+)/);
    signSizeStr = matches[1] + '" x ' + matches[2] + '"';
});

你可以用一个普通的正则表达式

$("#sign-size-boxes a").on("click", function(e){
    matches = $(this).attr('class').match(/sign([0-9]+)x([0-9]+)/);
    signSizeStr = matches[1] + '" x ' + matches[2] + '"';
});

在函数中附加以下代码

arrTmp=signsizest.split(“x”)

newStr=arrTmp[0]+''x'+arrTmp[1]+''


在函数中附加以下代码

arrTmp=signsizest.split(“x”)

newStr=arrTmp[0]+''x'+arrTmp[1]+''


你可以再打一次电话

signSizeStr = $(this).attr('class').replace("sign", "").replace("x",'" x ') + '"';

你可以再打一次电话

signSizeStr = $(this).attr('class').replace("sign", "").replace("x",'" x ') + '"';

第一行代码将使用“x”作为分隔符,将字符串signSizeStr拆分为一个数组。下一行代码基本上将数组的2个元素与所需的符号(如“、x和相应的空格)连接起来。您缺少尾随分号,这被认为是不好的做法。您声明隐式全局变量,这是错误的做法,也是危险的。您声称它是一个插入式代码段,但事实并非如此。第一行代码将使用“x”作为分隔符将字符串signSizeStr拆分为一个数组。下一行代码基本上将数组的2个元素与所需的符号连接起来,如“、x和相应的空格缺少尾随分号,这被认为是不好的做法。您声明隐式全局变量,这是错误的做法,也是危险的。我在这里看到了一些很好的解决方案,我不确定哪一个是“最好的”,但我决定现在就使用这个,多亏了你和others@jasondavis我认为我的更好,因为它避免了不必要的过渡步骤。如果
replace
可以一步完成,那么就没有理由手动匹配然后构建字符串。然而,这其实没什么区别,这个答案完全可以接受。很高兴你也看到了其他的!我在这里看到了几个好的解决方案,我不确定哪一个是“最好的”,但我决定现在就采用这个解决方案,多亏了您和others@jasondavis我认为我的更好,因为它避免了不必要的过渡步骤。如果
replace
可以一步完成,那么就没有理由手动匹配然后构建字符串。然而,这其实没什么区别,这个答案完全可以接受。很高兴你也看到了其他的!