gpt4 book ai didi

javascript - 使用循环将两个字符串字符排列成一个字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:47:37 25 4
gpt4 key购买 nike

我有两个字符串应该放在一起成为一个字符串。第一个字符串是输入值,第二个字符串是第一个字符串的样式。
下面是示例 -
输入字符串( var val ) - 9165678823
Patter string( var mask ) - (999)999-9999
输出字符串应该类似于 ( var startVal ) - (916)567-8823
/> 我试过锻炼,这是我的代码

            var val = $(control).data("loadMaskValue"); // Input Value
var mask = $(control).attr("mask"); //Masking Pattern
var startVal = "";
var j = 0;

for (var i = 0; i < mask.length; i++) {
var c = mask.charAt(j);
if (c == '9' || c == 'X' || c == 'A') { //Checks the char is normal char
startVal += val.charAt(j);
}
else {
startVal += c; //Inserts the special char to string like ( ) -
startVal += val.charAt(j);
}
j = startVal.length;
}

这段代码的问题在于它漏掉了中间的一个数字。此代码的结果是
startValue - (965)688-2
请帮助我。

最佳答案

这里有一个稍微简单的实现:

var input = '9165678823';
var mask = '(999)999-9999';

var output = '';
var offset = 0;

for (var i = 0; i < mask.length; i++) {
var char = mask.charAt(i);

if ('9XA'.indexOf(char) != -1) {
output += input.charAt(i - offset);
} else {
output += mask.charAt(i);
offset += 1;
}
}

console.log(output);

确保 input 的开头和结尾的所有空格都被去除了。

演示:http://jsfiddle.net/qWtjk/

关于javascript - 使用循环将两个字符串字符排列成一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13795922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com