diff --git a/app/models/user.rb b/app/models/user.rb index 64995d9ef..2072e5ec6 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -93,7 +93,7 @@ class User < ApplicationRecord format: /\A(http(s)?:\/\/)?(www.gitlab.com|gitlab.com)\/.*\Z/ validates :instagram_url, allow_blank: true, - format: /\A(http(s)?:\/\/)?(www.instagram.com|instagram.com)\/[a-z\d_]{1,30}\Z/ + format: /\A(http(s)?:\/\/)?(?:www.)?instagram.com\/(?=.{1,30}\/?$)([a-zA-Z\d_]\.?)*[a-zA-Z\d_]+\/?\Z/ validates :twitch_url, allow_blank: true, format: /\A(http(s)?:\/\/)?(www.twitch.tv|twitch.tv)\/.*\Z/ diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index cd00b7fca..a84c3fedc 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -263,7 +263,7 @@ RSpec.describe User, type: :model do end it "accepts valid instagram url" do - %w[jess je_ss].each do |username| + %w[jess je_ss je_ss.tt A.z.E.r.T.y].each do |username| user.instagram_url = "https://instagram.com/#{username}" expect(user).to be_valid end