Javascript 仅显示字符串中的最后四位数字

Javascript 仅显示字符串中的最后四位数字,javascript,logic,Javascript,Logic,需要使用javascript仅显示消息中信用卡号的最后四位数字 例: 需要预期的输出作为 "GIFT CARD SWIPED 4444 CREDIT SERVER NOT RESPONDING CARD SWIPED 4444 CREDIT SERVER NOT RESPONDING CARD SWIPED 4444 CREDIT SERVER NOT RESPONDING CARD SWIPED 4444 CREDIT SERVER NOT RESPONDING CARD SWIPED 444

需要使用javascript仅显示消息中信用卡号的最后四位数字

例:

需要预期的输出作为

"GIFT CARD SWIPED
4444
CREDIT SERVER NOT RESPONDING
CARD SWIPED
4444
CREDIT SERVER NOT RESPONDING
CARD SWIPED
4444
CREDIT SERVER NOT RESPONDING
CARD SWIPED
4444
CREDIT SERVER NOT RESPONDING
CARD SWIPED
4444"

如果您在这方面有任何帮助,我将不胜感激。

我对Javascript了解不多,有java背景的我只能考虑这种逻辑

var str = "CARD SWIPED 1111222233334444 CREDIT SERVER NOT RESPONDING CARD SWIPED 1111222233334444 CREDIT SERVER NOT RESPONDING GIFT CARD SWIPED 1111222233334444 CREDIT SERVER NOT RESPONDING GIFT CARD SWIPED 1111222233334444 CREDIT SERVER NOT RESPONDING CARD SWIPED 1111222233334444"; 
var res = str.match(/[0-9]+/g);

for (var i=0; i<res.length ; i++){
  var lastFourStr = res[i].substring(res[i].length-4, res[i].length);
  str =  str.replace(res[i], lastFourStr);
}
console.log(str);
var str=“刷卡1111222233334444信用服务器未响应刷卡1111222233334444信用服务器未响应礼品卡刷卡1111222233334444信用服务器未响应礼品卡刷卡1111222233334444信用服务器未响应刷卡1111222233334444”;
var res=str.match(/[0-9]+//g);

对于(var i=0;i如果该数字是var中的任意位置,则此代码可以找到该值--


嗯,但数字并不是唯一的区别。你还想/必须做其他事情吗?只需要显示最后四个数字和字符串,如图所示output@Acube“礼物”应在文本之前添加??这适用于16位数字和所有非16位连续数字。这应仅适用于16位数字,其他连续数字应忽略。例如,现在显示的112234也类似于此2234(应类似于此112234)@Acube请在我的答案中找到更新部分,Plnkr链接将保存更新部分。请告诉我,这是否解决@Hurix,非常感谢。工作正常,但将此“参考号”——“24445052061004338283410……”改为“参考号”——————————————————————————————————————————————————————————————————————。为什么不显示完整的数字。除此之外,一切都很好。@acu为此感到抱歉,在我的正则表达式中添加了单词边界,请参阅更新部分。我希望它现在可以正常工作。测试时,我发现另一个问题,它不适用于下面的消息“刷卡1111 2222 3333 4444信用服务器未响应”
var str = "CARD SWIPED 1111222233334444 CREDIT SERVER NOT RESPONDING CARD SWIPED 1111222233334444 CREDIT SERVER NOT RESPONDING GIFT CARD SWIPED 1111222233334444 CREDIT SERVER NOT RESPONDING GIFT CARD SWIPED 1111222233334444 CREDIT SERVER NOT RESPONDING CARD SWIPED 1111222233334444"; 
var res = str.match(/[0-9]+/g);

for (var i=0; i<res.length ; i++){
  var lastFourStr = res[i].substring(res[i].length-4, res[i].length);
  str =  str.replace(res[i], lastFourStr);
}
console.log(str);
         function getDigit(){

              var ex= "CARD SWIPED 1111222233334444 CREDIT SERVER 
NOT RESPONDING CARD SWIPED 1111222233334444 CREDIT SERVER NOT RESPONDING GIFT CARD SWIPED 1111222233334444 CREDIT   SERVER NOT RESPONDING GIFT CARD SWIPED 1111222233334444 CREDIT SERVER NOT RESPONDING CARD SWIPED 1111222233334444";

            var store=ex.split(" ");

                var lastFour="";

                for (var i in store) {
                    var temp=store[i];

                    var sd=parseInt(temp);
                    sd=sd+"";
                    if($.isNumeric(sd) )
                        {
                        lastFour=sd.substring((sd.length-4),sd.length);
                        }
                }                   
                alert(lastFour);}