Strange, since /^[a-zA-Z0-9áàAÁÁ ]{0,100}$/.test('Báhhh') returns true for me in the Chrome JS console.
I suspect this is a Unicode problem where á can be encoded in several ways: U + 0061 U + 0301, U + 0061 U + 0341 or U + 00E1.
Perhaps try /^(?:[a-zA-Z][\u0301\u0341]?|[áàÁÁ0-9 ]){0,100}$/
source share