catamphetamine / libphonenumber-js

A simpler (and smaller) rewrite of Google Android's libphonenumber library in javascript
https://catamphetamine.gitlab.io/libphonenumber-js/
MIT License
2.77k stars 218 forks source link

isValid() returns true for invalid US Virgin Islands phone number #385

Closed broccoli closed 4 years ago

broccoli commented 4 years ago

Steps to reproduce

        const phoneNumber = "(340) 775-1";
        const country = "VI";
        const number = parsePhoneNumberFromString(phoneNumber, country);

        console.log(number.isValid());  // true

Observed result

isValid() is returning true.

Expected result

It should be false.

Google's demo link

https://libphonenumber.appspot.com/phonenumberparser?number=%28340%29+775-1&country=VI

However, I get valid: false from the online libphonenumber-js demo. I don't get false in my code. I'm using 1.7.46.

Similar behavior occurs with Cayman Islands (KY) partial phone numbers, such as (345) 949-4.

https://libphonenumber.appspot.com/phonenumberparser?number=%28345%29+949-4&country=KY

catamphetamine commented 4 years ago

However, I get valid: false from the online libphonenumber-js demo. I don't get false in my code. I'm using 1.7.46.

This means that you're using min version of metadata. The demo uses max version. See readme for more info.