Validate Mobile number using regular expression

后端 未结 7 1424
故里飘歌
故里飘歌 2020-12-30 12:37

I need to validate mobile number. My need:

  1. The number may start with +8801 or 8801 or 01
  2. The next number can be 1 or 5 or 6 or 7 or
相关标签:
7条回答
  • 2020-12-30 13:00
    **Laravel Bangladeshi Phone No validation for (Citycell, Robi, Grameen Phone, Banglalink, Airtel and Teletalk) and start with +88/88 then 01 then 356789 then 8 digit**  
    
    
    
    public function rules()
            {
                return [
    
                    'mobile' => 'sometimes|regex:/^(?:\+?88)?01[35-9]\d{8}$/',
    
                ];
            }
    
            public function messages()
            {
    
                    'mobile.regex' => 'Mobile no should be bd standard',
                ];
            }
    
    0 讨论(0)
  • 2020-12-30 13:01

    Bangladeshi phone number (Citycell, Robi, Grameen Phone, Banglalink, Airtel and Teletalk operators) validation by using regular expression :

    $pattern = '/(^(\+8801|8801|01|008801))[1-9]{1}(\d){8}$/';
    $BangladeshiPhoneNo = "+8801840001417";
    
    if(preg_match($pattern, $BangladeshiPhoneNo)){
        echo "It is a valid Bangladeshi phone number;
    }
    
    0 讨论(0)
  • 2020-12-30 13:07

    Should be pretty simple:

    ^(?:\+?88)?01[15-9]\d{8}$
    
    • ^ - From start of the string
    • (?:\+?88)? - optional 88, which may begin in +
    • 01 - mandatory 01
    • [15-9] - "1 or 5 or 6 or 7 or 8 or 9"
    • \d{8} - 8 digits
    • $ - end of the string

    Working example: http://rubular.com/r/BvnSXDOYF8

    Update 2020

    As BTRC approved 2 new prefixes, 013 for Grameenphone and 014 for Banglalink, updated expression for now:

    ^(?:\+?88)?01[13-9]\d{8}$
    
    0 讨论(0)
  • 2020-12-30 13:11

    I know, that question was asked long time ago, but i assume that @G. M. Nazmul Hossain want to validate mobile number againt chosen country. I show you, how to do it with free library libphonenumber from Google. It's available for Java, C++ and Javascript, but there're also fork for PHP and, i believe, other languages.

    +880 tells me that it's country code for Bangladesh. Let's try to validate example numbers with following code in Javascript:

    String bdNumberStr = "8801711419556"
    PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
    try {
        //BD is default country code for Bangladesh (used for number without 880 at the begginning)
        PhoneNumber bdNumberProto = phoneUtil.parse(bdNumberStr, "BD");
    } catch (NumberParseException e) {
        System.err.println("NumberParseException was thrown: " + e.toString());
    }
    boolean isValid = phoneUtil.isValidNumber(bdNumberProto); // returns true
    

    That code will handle also numbers with spaces in it (for example "880 17 11 41 95 56"), or even with 00880 at the beggininng (+ is sometimes replaced with 00).

    Try it out yourself on demo page. Validates all of provided examples and even more.

    0 讨论(0)
  • 2020-12-30 13:24

    You may use either one of given regular expression to validate Bangladeshi mobile number.

    Solution 1:

    /(^(\+88|0088)?(01){1}[56789]{1}(\d){8})$/
    

    Robi, Grameen Phone, Banglalink, Airtel and Teletalk operator mobile no are allowed.

    Solution 2:

     /(^(\+8801|8801|01|008801))[1|5-9]{1}(\d){8}$/
    

    Citycell, Robi, Grameen Phone, Banglalink, Airtel and Teletalk operator mobile no are allowed.

    Allowed mobile number pattern

    +8801812598624

    008801812598624

    01812598624

    01712598624

    01919598624

    01672598624

    01512598624

    ................

    .................

    0 讨论(0)
  • 2020-12-30 13:25

    Use the following regular expression and test it if you want on following site quickly

    regex pal

    [8]*01[15-9]\d{8}

    0 讨论(0)
提交回复
热议问题