在PHP中检查字符串是否有效

时间:2017-06-06 09:29:23

标签: php string

如何知道哪个单词具有有效身份证的标准?如果身份证有10个或更多字符,则身份证有效,否则无效。

句子的例子:

$String_1 = "i'm john and my id card 12334435345 my favorite team xxxxxxxx.";

$String_2 = "i'm ananda ramadina and my id card 9090909889 my favorite team YYYYYYYYYY.";

$String_3 = "i'm dinda rahayu and my id card 909 my favorite team RRRRRRRR.";

5 个答案:

答案 0 :(得分:2)

您可以使用此

$id = filter_var($str, FILTER_SANITIZE_NUMBER_INT);

// compare the length for $id
if (strlen($id) < 10) // not valid

答案 1 :(得分:1)

试试这个: -

$string_1 = "i'm john and my id card 125345 my favorite team xxxxxxxx.";

/* using regex to match string */
preg_match("/id card ([0-9]*)?/", $string_1, $output_array);

/* this will assign $getNumber the value of $output_array[1] if it exists, otherwise a blank value */
$getNumber = isset($output_array[1]) ? $output_array[1] : "";

if(strlen($getNumber) >= 10) {
    echo "valid";
} else { 
    echo "invalid";
}

答案 2 :(得分:0)

试试这个

$String_1 = "i'm john and my id card 12334435345 my favorite team xxxxxxxx.";
$intVal = filter_var($String_1, FILTER_SANITIZE_NUMBER_INT);
$count = strlen($intVal);
if ($count >= 10) {
// some logic
}

答案 3 :(得分:0)

如果只在您的字符串中显示卡号,请使用filter_varFILTER_SANITIZE_NUMBER_INT

$String_1 = "i'm john and my id card 112312312312312 my favorite team xxxxxxxx.";
$card_number = filter_var($String_1, FILTER_SANITIZE_NUMBER_INT);

// compare the length for $card_number 
if (strlen($card_number) < 10){
    echo 'invalid';
} else {
   echo 'valid';
}

如果您的字符串中包含2个或多个数字类型

,则可以使用此代码

$String_1 = "i'm john and my id card 1 my favorite team xxxxxxxx.";
$get_card_info = explode('id card', $String_1);

$get_card_format = explode('my favorite', $get_card_info[1]);

if (strlen($get_card_format[0]) > 10) {
    echo 'valid';
} else {
    echo 'not valid';
}

答案 4 :(得分:0)

如果您的卡片ID字符串始终在&#34;卡片后面#34;单词到字符串,你可以试试这段代码:

$pieces = explode(" ", $String_1);

$cardId = $pieces[array_search('card', $pieces)+1];

if (strlen ( $cardId ) > 10)
{
   // Ok
}
else 
{
   // Ko
}