如何在Js或Jquery中的数字之前和之后使用数字和添加文本进行拆分

时间:2017-01-17 05:12:09

标签: javascript jquery

我有多个号码,逗号分开。我需要用逗号分割并在数字之前和数字之后添加文本。

Input:-  x = "2254,1234";
Output:- x = abc2254def or abc1234def

我想要上面的输出。请帮帮我

4 个答案:

答案 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()函数拆分输入,然后循环并在文本之前和之后添加到每个元素。

&#13;
&#13;
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;
&#13;
&#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>