Git Product home page Git Product logo

Comments (6)

sockix avatar sockix commented on May 10, 2024 1

Hi Ben. Yep, I will take a look and see if I'm able to make the change.

from libaddressinput.

roelofr avatar roelofr commented on May 10, 2024

I made a quick script to find all numbers on the page, the gist is here.

The table on https://en.youbianku.com/Bahrain does seem to match this 1-12 range, so the following regexp would suffice:

(?:\d|1[0-2])\d{2}

from libaddressinput.

BenWalters avatar BenWalters commented on May 10, 2024

@roelofr When I initially looked at the RegEx I too thought it would be okay but I had a play around and it seems to be ineffective for postcodes greater than 999: https://regex101.com/r/39cZU1/1/

I believe ^(1[0-1][0-9]{2}|12[0-1][0-6]|[1-9][0-9]{2}|10[1-9])$ might be a better solution: https://regex101.com/r/9nASya/1

from libaddressinput.

roelofr avatar roelofr commented on May 10, 2024

I believe ^(1[0-1][0-9]{2}|12[0-1][0-6]|[1-9][0-9]{2}|10[1-9])$ might be a better solution

This is very expressive for a regex, but mostly, it seems the Google API doesn't return start or end markers, possibly to allow finding postal codes in longer strings.

The pattern I posted matches 2103 matches 103, and ignores the 2. How could I miss that, thanks for the correction 👍

So, to fix this, we probably need to check for word markers or EOLs.
Since the last two digits are always required, I tried keeping them out of the alternate match.

So, my v2 would be:

(?:^|\b)(?:1[0-2]|[1-9])\d{2}(?:$|\b)

I ran it again your pattern, and added a 012, which should be invalid too. Results are here.

Small edit: made all groups non-capturing groups.

from libaddressinput.

BenWalters avatar BenWalters commented on May 10, 2024

(?:^|\b)(?:1[0-2]|[1-9])\d{2}(?:$|\b)

Looks good to me! I'd be more than happy with that being implemented.

from libaddressinput.

BenWalters avatar BenWalters commented on May 10, 2024

@sockix @sebsg are you able to assist with this change?

from libaddressinput.

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.