Javascript Regular Expression Not Failing When I Think It Should

My code:

let g_Check = /^[a-z]+[a-z -.]{0,25}$/i;
let bl = g_Check.test("abc*"de"); // returns true, when I think it should return false because of the '*' and '"'

I want the test to only work (return true) for:

a) 25 length or less strings

b) must start with upper or lower case letter

c) the rest must only contain letters (upper or lower), spaces, minus signs and dots/periods

I would also like the expression to contain any number 0,1,2…,9.

I think that would be:

let g_Check = /^[a-z]+[a-z -.][0-9]{0,25}$/i;

But I have no way of checking this as my original expression does not work anyway.