Code Monkey home page Code Monkey logo

Comments (8)

iziz avatar iziz commented on August 29, 2024

Sorry for late

    NSString *vietnamString = @"+84 74 883313";
    NSError *error = nil;
    NBPhoneNumber *vietnamNumber = [[NBPhoneNumberUtil sharedInstance] parse:vietnamString defaultRegion:@"ZZ" error:&error];
    if (error) {
        NSLog(@"err [%@]", [error localizedDescription]);
    }
    NSLog(@"getRegionCodeForNumber [%@]", [[NBPhoneNumberUtil sharedInstance] getRegionCodeForNumber:vietnamNumber]);

its result shows below

2014-04-17 13:22:30.316 libPhoneNumber[61753:907] getRegionCodeForNumber [VN]

and yes, there are metadata for every country.

And now, I'm testing yours. plz wait :)

from libphonenumber-ios.

iziz avatar iziz commented on August 29, 2024

How about to using " isPossibleNumber" ?

with using
http://libphonenumber.googlecode.com/svn/trunk/javascript/i18n/phonenumbers/demo-compiled.html
(r650)

(366) 522-8999 , US 

result is

****Parsing Result:****
{"country_code":1,"national_number":3665228999,"raw_input":"(366) 522-8999","country_code_source":20,"preferred_domestic_carrier_code":""}

****Validation Results:****
Result from isPossibleNumber(): true
Result from isValidNumber(): false
Phone Number region: null
Result from getNumberType(): UNKNOWN

****Formatting Results:**** 
E164 format: invalid
Original format: (366) 522-8999
National format: (366) 522-8999
International format: invalid
Out-of-country format from US: invalid
Out-of-country format from Switzerland: invalid

****AsYouTypeFormatter Results****
Char entered: ( Output: (
Char entered: 3 Output: (3
Char entered: 6 Output: (36
Char entered: 6 Output: (366
Char entered: ) Output: (366)
Char entered:   Output: (366) 
Char entered: 5 Output: (366) 5
Char entered: 2 Output: (366) 52
Char entered: 2 Output: (366) 522
Char entered: - Output: (366) 522-
Char entered: 8 Output: (366) 522-8
Char entered: 9 Output: (366) 522-89
Char entered: 9 Output: (366) 522-899
Char entered: 9 Output: (366) 522-8999

and

+84 74 883313 , ZZ

result is

****Parsing Result:****
{"country_code":84,"national_number":74883313,"raw_input":"+84 74 883313","country_code_source":1,"preferred_domestic_carrier_code":""}

****Validation Results:****
Result from isPossibleNumber(): true
Result from isValidNumber(): false
Phone Number region: VN
Result from getNumberType(): UNKNOWN

****Formatting Results:**** 
E164 format: invalid
Original format: +84 74 883313
National format: 74883313
International format: invalid
Out-of-country format from US: invalid
Out-of-country format from Switzerland: invalid

****AsYouTypeFormatter Results****
Char entered: + Output: +
Char entered: 8 Output: +8
Char entered: 4 Output: +84 
Char entered:   Output: +84 
Char entered: 7 Output: +84 7
Char entered: 4 Output: +84 74
Char entered:   Output: +84 74 
Char entered: 8 Output: +84 74 8
Char entered: 8 Output: +84 74 88
Char entered: 3 Output: +84 74 883
Char entered: 3 Output: +84 74 8833
Char entered: 1 Output: +84 74 88331
Char entered: 3 Output: +84 74 883313

and, of course.

    NBPhoneNumberUtil *phoneUtil = [NBPhoneNumberUtil sharedInstance];

    {
        NSError *error = nil;
        NBPhoneNumber *phoneNumberUS = [phoneUtil parse:@"(366) 522-8999" defaultRegion:@"US" error:&error];
        if (error) {
            NSLog(@"err [%@]", [error localizedDescription]);
        }
        NSLog(@"- isValidNumber [%@]", [phoneUtil isValidNumber:phoneNumberUS] ? @"YES" : @"NO");
        NSLog(@"- isPossibleNumber [%@]", [phoneUtil isPossibleNumber:phoneNumberUS error:&error] ? @"YES" : @"NO");
        NSLog(@"- getRegionCodeForNumber [%@]", [phoneUtil getRegionCodeForNumber:phoneNumberUS]);
    }

    NSLog(@"- - - - -");

    {
        NSError *error = nil;
        NBPhoneNumber *phoneNumberZZ = [phoneUtil parse:@"+84 74 883313" defaultRegion:@"ZZ" error:&error];
        if (error) {
            NSLog(@"err [%@]", [error localizedDescription]);
        }
        NSLog(@"- isValidNumber [%@]", [phoneUtil isValidNumber:phoneNumberZZ] ? @"YES" : @"NO");
        NSLog(@"- isPossibleNumber [%@]", [phoneUtil isPossibleNumber:phoneNumberZZ error:&error] ? @"YES" : @"NO");
        NSLog(@"- getRegionCodeForNumber [%@]", [phoneUtil getRegionCodeForNumber:phoneNumberZZ]);
    }

result is

2014-04-17 14:03:43.560 libPhoneNumber[62197:907] - isValidNumber [NO]
2014-04-17 14:03:43.561 libPhoneNumber[62197:907] - isPossibleNumber [YES]
2014-04-17 14:03:43.562 libPhoneNumber[62197:907] - getRegionCodeForNumber [(null)]
2014-04-17 14:03:43.562 libPhoneNumber[62197:907] - - - - -
2014-04-17 14:03:43.563 libPhoneNumber[62197:907] - isValidNumber [NO]
2014-04-17 14:03:43.563 libPhoneNumber[62197:907] - isPossibleNumber [YES]
2014-04-17 14:03:43.564 libPhoneNumber[62197:907] - getRegionCodeForNumber [VN]

from libphonenumber-ios.

jrapoport avatar jrapoport commented on August 29, 2024

Right... but isValidNumber should be returning YES for both, shouldn't it? Seeing as how they are both actually valid?

@"(366) 522-8999" isValidNumber == NO, but @"(818) 522-8999", @"(206) 522-8999" , etc. isValidNumber == YES.

from libphonenumber-ios.

iziz avatar iziz commented on August 29, 2024

Yes.

But now, It based in libphonenumber metadata (googles opensource)
And it said "NO" :(

Cant find solution without using metadata...

from libphonenumber-ios.

jrapoport avatar jrapoport commented on August 29, 2024

Yeah, I thought that might be the case. I'll look into filing a bug against them I guess?

from libphonenumber-ios.

iziz avatar iziz commented on August 29, 2024

You can create issues :)
https://code.google.com/p/libphonenumber/issues/list

Thanks

from libphonenumber-ios.

anton-matosov avatar anton-matosov commented on August 29, 2024

According to this site http://www.computerhope.com/areacode.htm

366, 367, and 368 are unassigned area codes

So it looks like expected validation result

from libphonenumber-ios.

TechbirdsYogendra avatar TechbirdsYogendra commented on August 29, 2024

I have saved number "6375273023" in my Contacts. When I validate number it returns false. Can anyone help.

NBPhoneNumberUtil *phoneUtil = [NBPhoneNumberUtil sharedInstance];
NSError *anError = nil;

NBPhoneNumber *myNumber = [phoneUtil parse:mobileNumber
defaultRegion:@"IN" error:&anError];

BOOL isValidNumber = [phoneUtil isValidNumber:myNumber];

isValidNumber returns NO.

Can anyone help.

from libphonenumber-ios.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.