首页 > 解决方案 > 我如何验证 Laravel 中的前三个字符?

问题描述

当用户将电话号码插入数据库时​​,我想验证前三个字符

这是我的控制器

 public function checkNumber(Request $request)
{
    $number = $request->get('phone');
    $operators_codes = str_split($number, 5);


    if ($request->ajax())
    {
        if ($request->get('phone') && strlen($request->get('phone')) > 14 && $operators_codes == 077)
        {
            return ['valid' => true, 'phone' => $request->get('phone'),"left" => ["total"=> 1, "free" => 1, "paid" => 0]];
        }
    }

}

标签: phplaravel

解决方案


您可以使用正则表达式 (RegEx) 轻松实现这一目标。

<?php 
$number="786-899-677";

// Checks if $phone begins with 555
if(preg_match("/^555/",$number)>0){
    echo "Valid Phone Number!";
}else{
    echo "Invalid Phone Number!";
}
?>

PCRE 正则表达式模式

public function checkNumber(Request $request){
    $number = $request->get('phone');
    if(preg_match("/^555/",$number)>0){
        return ['valid' => true, 'phone' => $number, "left" => ["total"=> 1, "free" => 1, "paid" => 0]];
    }else{
        return ['valid' => false, 'phone' => $number, "left" => ["total"=> 1, "free" => 1, "paid" => 0]];
    }
}

推荐阅读