如何在regex中验证自定义id,如下所示


How to validate a custom id in regex as shown below

我想验证我的id,它看起来像是在单个语句(使用正则表达式)中

$id='S-PGA/14/012';
其中:始终值-"S"必须为单个字符-PGA的值必须是长度为3到5的字符串-14是长度正好为2的数字-012也是长度正好为3的数字。

您可以使用/^[A-Z]-[A-Z]{3,5}'/['d]{2}'/['d]{3}$/作为regexp验证字符串。如果要进行不区分大小写的验证,请使用/^[A-Z]-[A-Z]{3,5}'/['d]{2}'/['d]{3}$/i。使用preg_match()验证regexp。

示例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';
}

您可以使用以下函数来测试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",使其不区分大小字母。