This is what I have so far,
^(?=.'{'8,14'}'$)(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9!@#$%^&*]).*$
which allows one atleast one lowercase , one uppercase, one number and on special character with minimun length 8 and max length 14.
And if i don't want any number then I am using this
^(?=.'{'8,14'}')(?=.*^([^0-9]*)$)(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9!@#$%^&*]).*$
But if I want that it should not accept any lowercase then what it should look like? And if later on I want to accept lowercase and not uppercase then how it should be or if I want to remove special character then how the expression will look like. I don't have any idea on javascript and regex thing so please help me with the expression and I am not allowed to do it using iteration.
Note: '{'8,14'}' here single quote is just used as escape sequence so please don't bother about that