JavaScript (ES6), 22 bytes
Returns a Boolean value.
s=>/^(.*)\1+$/.test(s)
Without a regular expression, 33 33 29 bytes
Returns a Boolean valueeither null
(falsy) or an object (truthy).
s=>!!~(s+s).slice(1,-1).searchmatch(s)
NB: Technically, \$s\$ is converted to a regular expression for match(), so the above title is a lie.