Validation with CType

What happens when you take you eye off the ball? The CType extension becomes a default part of PHP!

Have to confess I’ve never touched them until recently and was stuck in a “validation = regular expressions” mindset. What puzzles me is I haven’t seen anyone else using them either – most libraries doing some validation, including QuickForm and Validate all use regular expressions. Anyone know why? It’s not hard to use them but fall back to regular expressions for older PHP versions.

The CType functions are wrappers for ctype.h, a standard part of C, so are, effectively, very well tested.

The point is, for validating certain basic types of data, they do a better job than regular expressions, being both faster and supporting international character sets. The also make your code more “declarative” in nature – it’s pretty clear what ctype_digit() does while ‘/(^-?dd*.d*$)|(^-?dd*$)|(^-?.dd*$)/’ is less obvious.

For example say you have a field in your form for “First Name”. Using regular expressions, you’d probably validate it something like;

if ( !preg_match('/^[a-zA-Z]*$/', $first_name) ) {
die ('Alpha characters only please!');

Now that’s fine if your name is Joe but what if your name is H


Category: programming Time: 2004-05-11 Views: 1

Related post

iOS development

Android development

Python development

JAVA development

Development language

PHP development

Ruby development


Front-end development


development tools

Open Platform

Javascript development

.NET development

cloud computing


Copyright (C), All Rights Reserved.

processed in 0.208 (s). 12 q(s)