如何验证正则表达式中的自定义ID,如下所示

时间:2014-09-13 19:16:52

标签: php

我想验证我在单个语句中使用的id(使用正则表达式)

$id='S-PGA/14/012';
Where:
always value of 
- 'S' must be single character
- value of PGA must be string of length 3 to 5
- 14 is numer of exactly 2 in length
- 012 is the numer too with exactly 3 length.

 

2 个答案:

答案 0 :(得分:1)

您可以使用以下函数来测试ID是否有效:

function is_id_valid ( $id ) {
    $patern = '/^[A-Z]-[A-Z]{3,5}\/[0-9]{2}\/[0-9]{3}$/';

    if ( preg_match($pattern, $id) ) {
        return true;
    }
    else {
        return false;
    }
}

如果ID中的字母不区分大小写,您可以在正则表达式中添加“i”以使其不区分大小写。

答案 1 :(得分:1)

你可以使用 /^[A-Z]-[A-Z]{3,5}\/[\d]{2}\/[\d]{3}$/ regexp验证您的字符串。如果您想进行不区分大小写的验证,请使用 /^[A-Z]-[A-Z]{3,5}\/[\d]{2}\/[\d]{3}$/i 。使用preg_match()验证正则表达式。

示例php代码如下:

$id='S-PGA/14/012';
$pattern = '/^[A-Z]-[A-Z]{3,5}\/[\d]{2}\/[\d]{3}$/';
// Uncomment line below for case insensitive check
// $pattern = '/^[A-Z]-[A-Z]{3,5}\/[\d]{2}\/[\d]{3}$/i';

if (preg_match($pattern, $id)) {
    echo 'valid';
} else {
    echo 'not valid';
}