Positioning a part within range if its out of specified range

Hey, so I was wondering how would I position a part within a certain magnitude range (closest to the range) if the part is out of that said range. Hopefully this drawing will be self explanatory.

https://gyazo.com/e9a162b52f6fb990ee23f55c1891bccc

If the allowed area is a perfect circle, you can do this:

local CircleCenter = Vector3.new(0, 0, 0)
local Radius = 10

local Part = ...
if (Part.Position - CircleCenter).Magnitude > Radius then
    Part.Position = CircleCenter + (Part.Position - CircleCenter).Unit * Radius
end

Note that the above will treat the zone as a sphere instead of a circle.
For it to be a circle, and not be affected by the height, you could do this:

local CircleCenter = Vector3.new(0, 0, 0)
local Radius = 10

local Part = ...
if (Vector2.new(Part.Position.X, Part.Position.Z) - Vector2.new(CircleCenter.X, CircleCenter.Z)).Magnitude > Radius then
    Part.Position = CircleCenter + (Part.Position - CircleCenter).Unit * Radius
end

(Both codes are untested. The second one may correct the player into a spherical location if they go outside the circle zone. If this needs correcting, let me know)