Country codes are variable. Even the “I’m about to dial another country prefix” (usually + resolves to 00 but that depends on country and carrier) is variable. Phone number lengths are variable. Phone numbers are often written in non-Arabic numerals. Phone numbers can have specific digits in the middle of the number to reroute the call to another carrier.
You can try to parse phone numbers if you’re writing a specific phone number parsing library, but you’ll need to keep up with the ITU documents, the numbering plans of all countries and satellite providers, and provide support for older standards going back to the 60s. You’ll need to deal with edge cases that your language probably doesn’t even have names for. And most importantly, you’ll have to guess what country the phone number is from based on context clues such as the user’s language or location or locale because phone numbers can be and are reused across borders.
Phone numbers are worse than time zones. Don’t parse them yourself unless you’re building an international phone interconnect.
Is there not a “falsehoods programmers think about phone numbers” yet?
Edit: And once again, I’m still confused about some of these. Do we need to expand unicode for names? It’s supposed to be universal. WTF is up with 40?
I suppose that a counterexample to this might be Tibetan children, who get named at puberty, IIRC. Before that, they have no names. They are just referred to as “child” or “somebody’s child”.
People’s names are all mapped in Unicode code points.
I suppose a counterexample to that might be cultures which do not use script in general. Then, obviously, there’s no Unicode characters for these non-existant glyphs.
Ah, so it dovetails with the whole “children get a name reasonably fast” thing. I was interpreting that as “ever, in a natural lifespan”. My bad, haha.
I suppose a counterexample to that might be cultures which do not use script in general. Then, obviously, there’s no Unicode characters for these non-existant glyphs.
True, but there’s little risk of a name being entered into a form without some kind of transcription.
the fact that these are strings instead of an object that is broken up by country code, area code, and number makes me irrationally angry.
Country codes are variable. Even the “I’m about to dial another country prefix” (usually + resolves to 00 but that depends on country and carrier) is variable. Phone number lengths are variable. Phone numbers are often written in non-Arabic numerals. Phone numbers can have specific digits in the middle of the number to reroute the call to another carrier.
You can try to parse phone numbers if you’re writing a specific phone number parsing library, but you’ll need to keep up with the ITU documents, the numbering plans of all countries and satellite providers, and provide support for older standards going back to the 60s. You’ll need to deal with edge cases that your language probably doesn’t even have names for. And most importantly, you’ll have to guess what country the phone number is from based on context clues such as the user’s language or location or locale because phone numbers can be and are reused across borders.
Phone numbers are worse than time zones. Don’t parse them yourself unless you’re building an international phone interconnect.
i think you think that telephone numbers are well-structured. they are not. they are messy. they do not fit a certain schematic.
I recommend also the following topic: “people have names”. https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
Names do not in general fit into the schematic “first name, last name”
Is there not a “falsehoods programmers think about phone numbers” yet?
Edit: And once again, I’m still confused about some of these. Do we need to expand unicode for names? It’s supposed to be universal. WTF is up with 40?
I suppose that a counterexample to this might be Tibetan children, who get named at puberty, IIRC. Before that, they have no names. They are just referred to as “child” or “somebody’s child”.
I suppose a counterexample to that might be cultures which do not use script in general. Then, obviously, there’s no Unicode characters for these non-existant glyphs.
Ah, so it dovetails with the whole “children get a name reasonably fast” thing. I was interpreting that as “ever, in a natural lifespan”. My bad, haha.
True, but there’s little risk of a name being entered into a form without some kind of transcription.
https://github.com/google/libphonenumber/blob/master/FALSEHOODS.md has falsehoods about phone numbers.
Could be tests for a parser to convert it from string to object.
Not like your end users are going to type each piece into a separate field.
Found the Java programmer…
microsoft java :p
You seem to enjoy overengineering your code, don’t you?