通过javascript正则表达式验证SoundCloud URL

通过javascript正则表达式验证SoundCloud URL,javascript,regex,Javascript,Regex,我有两个来自soundcloud的URL,我想在.com/(或.sc/)之后获取所有内容,我根本不理解正则表达式,我可以进行javascript匹配/替换,唯一的问题是http与https https://soundcloud.com/ilyao/lyao-lj-mtx-and-lj-mtxs-hair http://snd.sc/1cvgIjv 任何帮助都将不胜感激 这是我得到的,不知道如何做https的替换,或者这是最好的方法来解决这个问题 function getSoundCloudI

我有两个来自soundcloud的URL,我想在.com/(或.sc/)之后获取所有内容,我根本不理解正则表达式,我可以进行javascript匹配/替换,唯一的问题是http与https

https://soundcloud.com/ilyao/lyao-lj-mtx-and-lj-mtxs-hair

http://snd.sc/1cvgIjv
任何帮助都将不胜感激

这是我得到的,不知道如何做https的替换,或者这是最好的方法来解决这个问题

function getSoundCloudInfo(url){
    return url.replace("https://soundcloud.com/", "").replace("http://snd.sc/", "");
}
太晚了,但是

别忘了:

  • 移动版本(
    m.
    在http之后)://)
  • 结尾可能是斜杠
  • 带或不带
    SSL/TLS
    ,因此它可以是
    http
    https
  • 有无
    www
  • 因此,完整正则表达式是:


    ^(https?:\/\/)?(www.)?(m\)?soundcloud\.com\/[\w\-\.]+(\/)+[\w\-\.]+/?$

    你能告诉我们你尝试过什么吗?@HamZa我刚刚在
    soundcloud.com
    中添加了我目前正在使用的点,并且
    snd.sc
    应该被转义,否则验证将通过
    soundcloudscom
    等域<代码>/^https?:\/\/(soundcloud\.com | snd\.sc)\/(.*)$/因为OP表示他们不完全知道如何使用正则表达式,所以在上下文中解释/显示这些正则表达式可能会有用。也不知道为什么要显示youtube和vimeo Regex。。。
    const FULL_YOUTUBE_REG_EXP = /^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/
    const SHORT_YOUTUBE_REG_EXP = /^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/
    const VIMEO_REG_EXP = /^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/
    const SOUNDCLOUD_REGEXP = /^(?:(https?):\/\/)?(?:(?:www|m)\.)?(soundcloud\.com|snd\.sc)\/(.*)$/
    
    ((https:\/\/)|(http:\/\/)|(www.)|(m\.)|(\s))+(soundcloud.com\/)+[a-zA-Z0-9\-\.]+(\/)+[a-zA-Z0-9\-\.]+    
    
    const FULL_YOUTUBE_REG_EXP = /^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/
    const SHORT_YOUTUBE_REG_EXP = /^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/
    const VIMEO_REG_EXP = /^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/
    const SOUNDCLOUD_REGEXP = /^(?:(https?):\/\/)?(?:(?:www|m)\.)?(soundcloud\.com|snd\.sc)\/(.*)$/