Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

preg_match in PHP

Posted on 2014-11-20
6
Medium Priority
?
139 Views
Last Modified: 2014-11-23
Any idea what this preg_match want to do ? Tks

if(!preg_match(“/^[4]{1,1}[0-9]{12,15}$/”,$value))
0
Comment
Question by:AXISHK
6 Comments
 
LVL 12

Accepted Solution

by:
Radek Baranowski earned 800 total points
ID: 40456786
http://www.autohotkey.com/docs/misc/RegEx-QuickRef.htm

it matches a string that
begins (^) with exactly one ({1,1}) "4" then is followed by 12 to 15 digits 0-9

so, the pattern like:

41234567890123

hope this helps!
0
 
LVL 35

Assisted Solution

by:Dan Craciun
Dan Craciun earned 400 total points
ID: 40456816
I think the string was done so you can quickly change the amounts of digits at the beginning, or else {1,1} is meaningless.
As is, the pattern can be written as
^4\d{12,15}$

HTH,
Dan
0
 

Author Comment

by:AXISHK
ID: 40456898
^4\d{12,15}$

Does it mean starting with '4", following by 12 - 15 digit number ? Tks
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 12

Expert Comment

by:Radek Baranowski
ID: 40456901
yes.
0
 
LVL 111

Assisted Solution

by:Ray Paseur
Ray Paseur earned 800 total points
ID: 40457118
There is one other problem.  The apparent double quote wrapping the regular expression are not, in fact, quotes.  They may be something that wormed its way in from cut/paste with Microsoft word?  You may want to read this article about how PHP handles quote marks.  It's an important part of the language with many effects on the meaning of the code.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_12241-Quotation-Marks-in-PHP.html

You may find that your regular expressions are easier to craft and understand if you write them like this, with comments to explain the intent of each segment of the expression:
$rgx 
= '#'           // REGEX DELIMITER (REQUIRED AT FRONT AND BACK OF EXPRESSION)
. '^'           // AT THE START OF THE STRING
. '[4]'         // CHARACTER CLASS THAT INCLUDES ONLY "4"
. '{1,1}'       // EXACTLY ONE OF THIS CHARACTER CLASS
. '[0-9]'       // CHARACTER CLASS THAT INCLUDES DIGITS 0-9
. '{12,15}'     // BETWEEN 12 AND 15 OF THE DIGITS
. '$'           // AT THE END OF THE STRING
. '#'           // REGEX DELIMITER
;

Open in new window

In the instant case this looks like  the regex is intended to match certain kinds of credit card numbers.
0
 

Author Closing Comment

by:AXISHK
ID: 40461371
Tks
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
Suggested Courses

916 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question