2 of 5
added the new test cases
Arnauld
  • 165.5k
  • 16
  • 160
  • 584

#JavaScript (ES6), 36 bytes

Returns a boolean.

s=>!/[^aeiouy]([^aeiouy]|$)/.test(s)

###Test cases

let f =

s=>!/[^aeiouy]([^aeiouy]|$)/.test(s)

;[
  "hate", "love", "popularize", "academy", "you", "mouse", "a", "euouae",
  "acorn", "nut", "ah", "strong", "false", "parakeet"
]
.forEach(s => console.log(s + ' --> ' + f(s)))

Arnauld
  • 165.5k
  • 16
  • 160
  • 584