Gerald Wheeler am Dienstag, 14. Februar 2006 21.03: > I am trying to allow input of a person's first and last name in one form > field, nothing more, nothing less > > There should be only one uppercase A-Z character followed by one or > more lowercase a-z characters followed by one space followed by one > uppercase A-Z character followed by one or more lowercase a-z > characters, nothing more. > > have tried this which does not work: /^[A-Z a-z]\s+[A-Z a-z]{1,15}$/
It's not enough restrictive. According to your exact description, it should be (untested): /^[A-Z][a-z]+ [A-Z][a-z]+$/ Of course, you can replace the '+' by {min,max}. Further, for userfriendliness, you could allow other whitespace, and more between the words, and additonally around them, and trim them away *afterwards*: my $userinput=get_from_request(); if (/^\s*([A-Z][a-z])+\s*([A-Z][a-z])+\s*$/) { # input is ok, so now we format: my $formatted="$1 $2"; do_something_with($formatted); } hth, Hans -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>