Search the Community
Showing results for tags 'regular expressions'.
-
I'm in the middle of Chapter 14, Perl-compatible Regular Expressions. On Page 444, the following pattern is offered to test for presence of non-whitespace characters in a string: ^\S$ If I'm interpreting the chapter correctly so far, in the form created for testing subjects against patterns, pcre.php, I should enter this code inside a pair of delimeters, like so: /^\S$/ So, I've done that, and typed a string into the subject text area: Testing for whitespace characters. I received FALSE, so far so good. Then I type simply: testing And I received FALSE again! Suspecting that I may have messed up the code of pcre.php, I replaced my file with the one I downloaded from Larry's website. Ran the same two tests again, received same results. Either I'm missing something, which I suspect is the case, or the pattern is incorrect. Could someone please explain to me how to make it work or what I'm doing wrong?
-
Hi everyone, So, I am doing the zip code validator on the text: var regexp = /^\d{5}(-\d{4})?$/; regexp.test (15265-5325) returns false var regexp = /^\d{5}(-\d{4})?$/; // same code regexp.test (15265-3325) returns true I have realized that unless the first number after the hyphen is less than 4, the expression will return false. I tried putting ^ inside parenthesis with first (). Fixes error. But if the first digit is 1 or 0 returns false. >>> var regexp = /(^\d{5})(-\d{4})?$/; regexp.test (85265-5325) true >>> var regexp = /(^\d{5})(-\d{4})?$/; regexp.test (15265-5325) false >>> var regexp = /(^\d{5})(-\d{4})?$/; regexp.test (05265-5325) false Anyone has any idea why is this happening??? var regexp = /^(\d{5})(-\d{4})?$/; -
-
Hello everyone I see that regular expressions in the book usually end with /i e.g. '/^[A-Z0-9\'.-]{2,30}$/i' However, on page 86 under point 7, the i is left off after the end forward slash: '/^(\w*(?=\w*\d)(?=\w*[a-z])(?=\w*[A-Z])\w*){6,20}$/' Why has the i been left off in this instance? Regards, Warwick
-
Hi Larry, Greg again. Once more my apologise for posting question on the comments forum of your book. At your suggestion I moved them here: I’ve noticed that you suggest the use of ctype and filter. However many people noticed errors with internationalization. I personally am inclined to use regular expressions to blacklist, whitelist and validate. I (recursively) eliminate the control characters from all user data than resolve the magic quotes issue than validate than typecast the result than filter with mysqli_real_escape_characters if it has to go to a database. Is this a redundant effort? For example if no control characters are allowed from beginning, no chance of mail injection (like your “scrubber” function on the other book to deal with the mail injection). Than a \p{L} will assure me, for example, that I will have only letters in any language or just from a particular language like \p{Thai}. Is this approach bad? What benefits could possible give me ctype and filter compared with a class that performs what I mentioned? Basically regular expressions against new (and still buggy at this time) PHP functions. Thank you and I’ll appreciate if you’re kind to answer.