I try to define a regex in Javascript who can accept separators like spaces, points, double-points and dashes. My regex is working when there is no separators but when I add space or other separator, it's not working.
I have to precise: this regex is for French phone number (0123456789 or 01.23.45.56.78 or 01 23 45 67 89,...). Also, this regex can accept "+33" who replaces the first "0".
This is my regex
var regex = /^(0|\+33)[1-9]([-.: ]?[0-9]{2}){4}$/;
Can someone tell me what is wrong?
Thank you everyone for yours quick answers!
So as Wiktor Stribiżew said, my regex was good! (Thank you for the link, I didn't know this website).
I have tried a lot of things so sorry for the late reply, but I have found where was my error!
My function is the next one (called by a onblur):
surligne()
is my function for changing the color of the input text. When I wrote 0123456789 my text was green but when I wrote 01.23.45.67.89 my text was red.BUT my error wasn't in JavaScript... My error was here, in my HTML:
The
type="number"
accept only numbers and "e" letter. So, I have changed the type to "text" and now it's working!Thank you everyone for your answers! Have a nice day!