将特定字符插入字符串/数组

时间:2014-11-09 18:20:10

标签: javascript arrays substring slice

我需要将-添加到ID屏幕的输出中。我一直在搞乱splice或subString。我不仅仅是因为我做得对。这是我的第一篇文章。

基本上我需要将输出从00164973变为001-64-973

function getID()
{
      studentID = prompt("Please enter your student ID. \nExample: 01234567 ","00164973");
      if(studentID.length == 8)
      {
         document.write("Student ID: <strong>" +studentID+ "</strong><br />");
         getFName();
      }
      else
      {
         document.write("I'm sorry but <strong>" +studentID+ "</strong> is not a valid ID. <br />Please try again.<br />");
         getID();
      }
} /*End of getID() */

2 个答案:

答案 0 :(得分:4)

我建议只使用正则表达式并替换以编辑数字。由于您知道ID的长度以及应该发生中断的位置,因此可以使用

studentID = studentID.replace(/(\w{3})(\w{2})(\w{3})/, '$1-$2-$3');

它将处理任何单词字符,以便它可以使用字母或数字。

答案 1 :(得分:0)

如果您想使用切片,可以尝试如下

var id = "00164973";
var first = id.slice(0,3);
var middle = id.slice(3,5);
var last = id.slice(5,8);
var delimeter = "-";
var result = first+delimeter+middle+delimeter+last;
alert(result);

这可能是更多的代码行。但这很干净且易于理解。 的 Jsfiddle