Difference Between Php Regex And Javascript Regex
Solution 1:
1) /^[\d]+$/2) /^([\u0600-\u06FF]+\s)*[\u0600-\u06FF]+$/3) /^([\u0600-\u06FF]+\d*\s)*[\u0600-\u06FF]+\d*$//u is not supported, since Javascript regexes only supports unicode in terms of codepoints. \x{???} (unicode codepoints) should be written \u???? in Javascript regex (always 4 digits 0 padded)
In these cases, the following applies to the rest of the regex:
- \s in Javascript is treated as unicode
- \d isn't, which means only ASCII digits (0-9) are accepted.
This means we specifically have to allow "foreign" numerals, e.g. Persian (codepoints 06F0-06F9):
1) /^[\d\u06F0-\u06F9]+$/2) /^([\u0600-\u06FF]+\s)*[\u0600-\u06FF]+$/3) /^([\u0600-\u06FF]+[\d\u06F0-\u06F9]*\s)*[\u0600-\u06FF]+[\d\u06F0-\u06F9]*$/(Remove \d if ASCII digits shouldn't be accepted)
Not sure what the brackets are supposed to be doing in example 1, originally they could be written:
1) /^\d+$/But to add the Persian numerals, we need them, see above.
Update
Spry character masking, however, only wants a regex to be applied on each entered character - i.e., we can't actually do pattern matching, it's just a "list" of accepted characters in all places, in which case:
1      ) /[\u06F0-\u06F9\d]/      // match 0-9 and Persian numerals2and3) /[\u0600-\u06FF\d\s]/    // match all Persian characters (includes numerals), 0-9 and spaceOnce again, remove \d if you don't want to accept 0-9.
Update 2
Now... using regex for validation with Spry:
var checkFullName = function(value, options)
{
   // Match with the by now well-known regex:if (value.match(/^([\u0600-\u06FF]+\s)*[\u0600-\u06FF]+$/))
   {
      returntrue;
   }
   returnfalse;
}
var sprytextfield =
     newSpry.Widget.ValidationTextField(
          "sprytextfield", 
          "custom", 
          { validation: checkFullName, validateOn: ["blur", "change"] }
     );
A similar custom function can be made for case 3.
Solution 2:
Are you passing them in as strings or as regex objects? Try removing the " characters from around the regex.
The 'u' flag is a little more tricky. You may need to explain what the 2nd and 3rd regexes are trying to do.
Post a Comment for "Difference Between Php Regex And Javascript Regex"