开发者

Php Sanitize and Validate form with some character exceptions

开发者 https://www.devze.com 2023-04-04 17:37 出处:网络
I\'m using in Php Sanitize and Validate Filters but I have problems to add some rules, I have some basic knowle开发者_StackOverflow中文版dge of php so I think this question is easy for you.

I'm using in Php Sanitize and Validate Filters but I have problems to add some rules, I have some basic knowle开发者_StackOverflow中文版dge of php so I think this question is easy for you.

if ($_POST['ccp_n'] != "") {
            $ccp = filter_var($_POST['ccp_n'], FILTER_SANITIZE_NUMBER_INT);
            if (!filter_var($ccp, FILTER_VALIDATE_INT)) {
                $errors .= 'Insert a valid code.<br/>';
            }
        } else {
            $errors .= 'Insert a code.<br/>';
        }

I need to add a minimum and maximum number of characters (14-15) and I want to accept this characters ( - or space ) .The exact sequence is 0000-0000-0000 (the last four digits could be 5 too

Thanks


You can use preg_match and apply a regular expression.

preg_match ( string $pattern , string $TestString) See here in detail

The pattern is the problem. You need to define in detail what is allowed.

For example, the pattern:

'~^\d{4}-\d{4}-\d{4,5}$~D'

would be the whole string from start ^ to the end $. 4 digits, hyphen, 4 digits, hyphen, 4 to 5 digits.

See it here on Regexr

Update:

I added the D modifier to the end, otherwise the $ not only match to the end of the string, but also before a newline as last character in the string. See here for php modifiers in detail


Use a regular expression with preg_match(). Alternatively, you can also use sscanf() to parse the input from a string according to a format.

0

精彩评论

暂无评论...
验证码 换一张
取 消