我有多个号码,逗号分开。我需要用逗号分割并在数字之前和数字之后添加文本。
Input:- x = "2254,1234";
Output:- x = abc2254def or abc1234def
我想要上面的输出。请帮帮我
答案 0 :(得分:1)
var y = "2254,1234";
var x = y.split(',');
for(var i=0;i<x.length;i++){
var pre = 'abc';
var post = 'def';
var result = pre+x[i]+post;
console.log(result);
}
答案 1 :(得分:1)
您只需要使用split()
函数拆分输入,然后循环并在文本之前和之后添加到每个元素。
x = "2254,1234";
var y = x.split(",");
$.each(y,function(i,e){
if(y.length == 1)
{
var str = "abc"+e+"xyz";
alert(str)
}else{
var str = "abc"+e+"efg";
alert(str)
}
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 2 :(得分:1)
您可以使用split
分隔输入,然后使用map
对分割字符串中找到的每个项目执行一项功能。然后我们使用+
来连接我们的字符串,并使用trim
来确保输入中没有任何意外的空格。然后我们终于join
返回一个字符串。
我们不要忘记在函数中添加一些健全性检查,因此我们将检查typeof
提供的numberString,如果它不是字符串则短路。
/*
* Helper function for logging an array of numbers, prefixed and suffixed with supplied string
* @param {String} prefix The string to append to the beginning of the output
* @param {String} suffix The string to append to the end of the output
* @param {String} divider The string that separates each output value
* @param {String} numberString The string of numbers, separated with commas to iterate through
* @returns {String} The concatenated string
*/
var convertNumbers = function(prefix, suffix, divider, numberString){
// short circuit if numberString is NOT a string
if(typeof numberString !== 'string') return;
return numberString.split(',').map(function(number){
return '' + prefix + number.trim() + suffix;
}).join(divider);
}
此函数返回字符串,因此可以使用以下内容调用:
console.log( convertNumbers('abc', 'def', ' or ', "1,2,3,4,5, 6,7 ,8") );
您可以根据您的html将{4}替换为input.value
。
注意强>
虽然上面是一个更易读的解决方案(这显然不是高尔夫),但你可以split
使用正则表达式和join
var convertNumbers = function(prefix, suffix, divider, numberString){
// short circuit if numberString is NOT a string
if(typeof numberString !== 'string') return;
return '' + prefix + (numberString.split(/[\s,]+/).join(suffix + divider + prefix)) + suffix;
}
答案 3 :(得分:1)
也许有帮助,试试这个。
//$InputValue = "2254,1234,3345";
$InputValue = "2254,3345";
$Res = WrapString($InputValue);
console.log($Res);
function WrapString($inputString){ $result = [];
$inputString = $inputString.split(",");
for($i=0;$i<$inputString.length;$i++){
$result.push(GenrateRandString(3)+$inputString[$i]+GenrateRandString(3));
}
return $result;
}
function GenrateRandString($length) {
$text = "";
$possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for(var i = 0; i < $length; i++) {
$text += $possible.charAt(Math.floor(Math.random() * $possible.length));
}
return $text;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>