473,398 Members | 2,525 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,398 software developers and data experts.

Regular Expressions

Hello all:

I was wondering if someone had a good regular expression
for a phone number. I came up w/on that does validation to
the point of having an optional area code, but I would like
to restrict the length of the entire number entered. For
example, if they enter an eight digit number it would not
match but a seven digit number would. The following is
what I have been trying but it does not work:

[0-9]{3}[-| ]?[0-9]{4}

Which says 3 digits then either a dash, space or nothing,
followed by four digits.

Any ideas?

Thanks,

John
Nov 15 '05 #1
2 5506

Here is one I came up with:

^(((\((?<par>))?)\d{3}(?(par)\)|)[ \-])?\d{3}[ \-]?\d{4}$

It matches a 3 digit area code, optionally enclosed in
parentheses, followed by a space, dash, or nothing, then
three digits, a space, dash or nothing, then four digits.

Here are some example matches:

(123) 456 7890
(123)4567890
123-456-7890
1234567890
456-7890
(as well as some fishy ones like)
123456-7890
(123)-456 7890
Here are some example NON-matches

(123 456-7890 - No matching close parenthesis
1 1234567890 - Leading 1 (may be important to allow)?
123 456 7890 - Double spacing
You probably want to run this through a lot more checks
to make sure it matches what you want, and, more
importantly, doesn't match what you don't want.

If you want to check out other expressions,
http://www.regexlib.com has some useful ones.
Brian Davis
www.knowdotnet.com
-----Original Message-----
Hello all:

I was wondering if someone had a good regular expression
for a phone number. I came up w/on that does validation tothe point of having an optional area code, but I would liketo restrict the length of the entire number entered. For
example, if they enter an eight digit number it would not
match but a seven digit number would. The following is
what I have been trying but it does not work:

[0-9]{3}[-| ]?[0-9]{4}

Which says 3 digits then either a dash, space or nothing,
followed by four digits.

Any ideas?

Thanks,

John
.

Nov 15 '05 #2
Hey, thanks for the info, I too had a similar one that included checking
for an area code, but I will give your a try. The main thing I was
after was restricting length as well (i.e. if they entered 8 digits it
should not match) but mine still does, so I'll see what yours does.

Thanks again,

John Smith

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 15 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Michael McGarry | last post by:
Hi, I am horrible with Regular Expressions, can anyone recommend a book on it? Also I am trying to parse the following string to extract the number after load average. ".... load average:...
1
by: Kenneth McDonald | last post by:
I'm working on the 0.8 release of my 'rex' module, and would appreciate feedback, suggestions, and criticism as I work towards finalizing the API and feature sets. rex is a module intended to make...
2
by: Sehboo | last post by:
Hi, I have several regular expressions that I need to run against documents. Is it possible to combine several expressions in one expression in Regex object. So that it is faster, or will I...
4
by: Együd Csaba | last post by:
Hi All, I'd like to "compress" the following two filter expressions into one - assuming that it makes sense regarding query execution performance. .... where (adate LIKE "2004.01.10 __:30" or...
7
by: Billa | last post by:
Hi, I am replaceing a big string using different regular expressions (see some example at the end of the message). The problem is whenever I apply a "replace" it makes a new copy of string and I...
3
by: a | last post by:
I'm a newbie needing to use some Regular Expressions in PHP. Can I safely use the results of my tests using 'The Regex Coach' (http://www.weitz.de/regex-coach/index.html) Are the Regular...
25
by: Mike | last post by:
I have a regular expression (^(.+)(?=\s*).*\1 ) that results in matches. I would like to get what the actual regular expression is. In other words, when I apply ^(.+)(?=\s*).*\1 to " HEART...
1
by: Allan Ebdrup | last post by:
I have a dynamic list of regular expressions, the expressions don't change very often but they can change. And I have a single string that I want to match the regular expressions against and find...
13
by: Wiseman | last post by:
I'm kind of disappointed with the re regular expressions module. In particular, the lack of support for recursion ( (?R) or (?n) ) is a major drawback to me. There are so many great things that can...
12
by: FAQEditor | last post by:
Anybody have any URL's to tutorials and/or references for Regular Expressions? The four I have so far are: http://docs.sun.com/source/816-6408-10/regexp.htm...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.