如何知道哪个单词具有有效身份证的标准?如果身份证有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.";
答案 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_var
与FILTER_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
}