我需要将-
添加到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() */
答案 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 强>