【问题标题】:regex for last XX numbers最后 XX 个数字的正则表达式
【发布时间】:2012-01-23 16:46:17
【问题描述】:
longURLorSTRING-2011-021243131612702

我需要像上面那样输出字符串的最后 13 个数字。但是拆分是不够的,因为“..-2011-02..”有时可能会改变

有人知道怎么做吗?该函数应返回 13 个数字。

【问题讨论】:

    标签: javascript regex hyperlink int


    【解决方案1】:
    var my_string = "longURLorSTRING-2011-021243131612702";
    var my_new_string = my_string.substr((my_string.length - 13),13);
    

    小提琴:http://jsfiddle.net/maniator/rAJjk/

    【讨论】:

    • 谢谢,这就是解决方案...我也忘记了 substr 的可能性
    • @ggzone 也可以使用my_string.slice(-13);my_string.slice(-13); (最后一个在IE中不太好用)。
    【解决方案2】:

    您正在寻找的正则表达式应该是

    \d{13}$

    Substring 方法也应该可以正常工作。

    【讨论】:

      【解决方案3】:

      一个正则表达式来查找字符串的最后 13 个数字,就像这样

      /.*([0-9]{13})$/
      

      您想要的数字将在第一组中。

      【讨论】:

        【解决方案4】:

        为什么不只搜索字符串末尾的 13 个数字?

        /(.+)(\d{13})$/
        

        第一个 (.+) 并不是真正需要的,但您可能需要在某个时候捕获它,这样不会造成真正的伤害

        (注意 - 以上是我将在 PHP 中使用的内容。无法评论 JavaScript,但我想它不会太不同)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-01-10
          • 2022-08-04
          • 1970-01-01
          • 1970-01-01
          • 2023-01-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多