Regular expressions: Difference between revisions From Online Manual

Jump to: navigation, search
No edit summary
No edit summary
Line 1: Line 1:
Regular expressions can be used in the advanced profile fields/custom profile fields.
Regular expressions can be used in the advanced profile fields/custom profile fields.
If you simply enter a regex, like this: <code>[12][0-9]{3}</code>
it will not work. Even worse, it fails silently, acting as though '''any''' data that was entered is matched by the regex.
If you enter the regex surrounded by tildes like this: <code>~[12][0-9]{3}~</code> then it works as expected. Double quotes also work as delimiters.


The input mask is important for your forum's security. Validating the input from a user can help ensure that data is not used in a way you do not expect. We have provided some simple regular expressions as hints.
The input mask is important for your forum's security. Validating the input from a user can help ensure that data is not used in a way you do not expect. We have provided some simple regular expressions as hints.


"[A-Za-z]+" - Match all upper and lower case alphabet characters.
<code>"[A-Za-z]+"</code> - Match all upper and lower case alphabet characters.
"[0-9]+" - Match all numeric characters.
<code>"[0-9]+"</code> - Match all numeric characters.
"[A-Za-z0-9]{7}" - Match all upper and lower case alphabet and numeric characters seven times.
<code>"[A-Za-z0-9]{7}"</code> - Match all upper and lower case alphabet and numeric characters seven times.
"[^0-9]?" - Forbid any number from being matched.
<code>"[^0-9]?"</code> - Forbid any number from being matched.
"^([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6})$" - Only allow 3 or 6 character hexcodes.
<code>"^([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6})$" </code>- Only allow 3 or 6 character hexcodes.





Revision as of 14:24, 11 June 2013

Regular expressions can be used in the advanced profile fields/custom profile fields.

If you simply enter a regex, like this: [12][0-9]{3} it will not work. Even worse, it fails silently, acting as though any data that was entered is matched by the regex.

If you enter the regex surrounded by tildes like this: ~[12][0-9]{3}~ then it works as expected. Double quotes also work as delimiters.


The input mask is important for your forum's security. Validating the input from a user can help ensure that data is not used in a way you do not expect. We have provided some simple regular expressions as hints.

"[A-Za-z]+" - Match all upper and lower case alphabet characters. "[0-9]+" - Match all numeric characters. "[A-Za-z0-9]{7}" - Match all upper and lower case alphabet and numeric characters seven times. "[^0-9]?" - Forbid any number from being matched. "^([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6})$" - Only allow 3 or 6 character hexcodes.


Additionally, special metacharacters ?+*^$ and {xx} can be defined. ? - None or one match of previous expression. + - One or more of previous expression.

  • - None or more of previous expression.

{xx} - An exact number from previous expression. {xx,} - An exact number or more from previous expression. {,xx} - An exact number or less from previous expression. {xx,yy} - An exact match between the two numbers from previous expression. ^ - Start of string. $ - End of string. \ - Escapes the next character.


More information and advanced techniques may be found on the internet.



Advertisement: