What @Takehiro said, like in onValidate:
if ( /(\d|^First$)/i.test(vals().Firstname ) ) {
// kick them back out with an error
}
However I'd be wary of trying to account for too many "fake" names. Eventually you run up against a false positive, especially in your own debugging (I frequently use "Sanford Whiteman2," "Sanford Whiteman3" for test accounts). Also,
"Last" is a totally legitimate last name.