Javascript只显示输出中的前4个字符
javascript only showing first 4 character from the output
我是javascript新手。我有这样的输出:a,rr7323,Thu Jul 16 11:52:12 2015@q,rr7323,Thu Jul 16 12:30:28 2015@r,rr7323,Thu Jul 16 12:36:11 2015
我希望能够显示用户id的前四个字母和最后一个用户id之前的字符。像这样:rr73,rr73,rr73, r.
第一个输出通常是这样的:r,rr7323,Thu Jul 16 13:01:48 2015
在这种情况下,我希望输出显示rr73, r
我希望能够用?
标记代替@q
:@q,rr7323,Thu Jul 16 12:30:28 2015
在本例中,我希望输出显示:rr73, ?
.
我也希望能够用A
代替@a
:@a,rr7323,Thu Jul 16 11:52:12 2015
应该看起来像rr73, A
。
这是我的代码它只显示了用户id的前4个字母rr73, rr73, rr73
if (label == 'edit.history@status') {
var names = [];
var pieces = tag.split(",");
// even number entries are the user:
// r,mm5830,Mon some date@r,pk5982, Tues some date
for (var i = 0; i < pieces.length;i++) {
if (i % 2 != 0) {
// and we only want first 4 characters
names.push(pieces[i].substring(-2, 4));
}
}
tags[label] = names.join(",");
首先,JavaScript中的substring命令将任何负数视为0,因此您的子字符串代码实际上从0(第一个字符)开始,并继续处理4个字符。
不能引用负子字符串,因为我们只有该字符串。你之前把原来的琴弦弄断了。
因此,您可能需要在push()
中添加pieces[i-1] +
以使其工作。
我相信下面的工作应该如预期的那样,除了替换值。为此,您可能需要使用replace
函数并进一步编辑我添加的pieces[i-1]
中的字符串:
if (label == 'edit.history@status') {
var names = [];
var pieces = tag.split(",");
// even number entries are the user:
// r,mm5830,Mon some date@r,pk5982, Tues some date
var last = 0;
for (var i = 0; i < pieces.length;i++) {
if (i % 2 != 0) {
last = i; // change the last index to be the current one.
// and we only want first 4 characters
names.push(pieces[i].substring(0, 4));
}
}
var lastChar = pieces[last-1];
lastChar = lastChar.substring(lastChar.length-1);
if(lastChar == "q") {
names.push("?");
} else if (lastChar == "a") {
names.push("A");
} else {
names.push(lastChar);
}
tags[label] = names.join(",");
相关文章:
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 使用Google Maps API向标记添加多个字符
- 单元格的工具提示或标题不显示超过2000个字符
- 如何显示字符串中最多 200 个字符
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- 将字符串分组为n个字符的块,并应用替换
- 如何在ajax中检查密码是否小于8个字符
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 如何使用正则表达式限制字符串的第一个字符
- 如何使用至少一个数字、一个大写字母和6-20个字符验证密码
- 如何在输入文本字段中输入10个字符时自动提交表单
- 如何从日期中分割x个字符
- 在跨度中每3个字符添加一个空格
- 跳过x个字符后,如何打印特定字符串
- 如何在JavaScript中每隔第n个字符分割一个字符串
- jQuery:从数据属性中删除除前4个字符外的所有字符
- 如何在jQuery中搜索两个字符之间的字符串
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- 如果 li 少于 3 个字符,请隐藏