Skip to content

Instantly share code, notes, and snippets.

@henriquemoody
Created March 30, 2012 14:53
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save henriquemoody/2252084 to your computer and use it in GitHub Desktop.
Save henriquemoody/2252084 to your computer and use it in GitHub Desktop.
regex=/^([1-9][0-9] +|\([1-9][0-9]\) *)[1-9]\d{2,4}[ .-]?\d{4}$/;
strings=[
/* Só numéricos com espaços que casam */
'11 9990000',
'11 99990000',
'11 999990000',
'11 999 0000',
'11 9999 0000',
'11 99999 0000',
/* Só numéricos com espaço e "." que casam */
'11 999.0000',
'11 9999.0000',
'11 99999.0000',
/* Só numéricos com espaço e "-" que casam */
'11 999-0000',
'11 9999-0000',
'11 99999-0000',
/* Numéricos com parênteses e espaços que casam */
'(11) 9990000',
'(11) 99990000',
'(11) 999990000',
'(11) 999 0000',
'(11) 9999 0000',
'(11) 99999 0000',
'(11)999 0000',
'(11)9999 0000',
'(11)99999 0000',
/* Numéricos com parênteses, espaço e "." que casam */
'(11) 999.0000',
'(11) 9999.0000',
'(11) 99999.0000',
'(11)999.0000',
'(11)9999.0000',
'(11)99999.0000',
/* Numéricos com parênteses, espaço e "-" que casam */
'(11) 999-0000',
'(11) 9999-0000',
'(11) 99999-0000',
'(11)999-0000',
'(11)9999-0000',
'(11)99999-0000',
/* Strings estranhas que casam por causa do uso de " *" e não de " ?" */
'11 999-0000',
'11 99990000',
'11 999990000',
'(11) 999990000',
/* Strings que casariam se a regex usasse "\s*" em vez de " *" */
"99\n99999999",
"999999\n9999",
/* Strings que não casam */
'(11) 099.0000',
'11) 99999-9999',
'(11 999999999',
'11 00.9999',
'11999-0000',
'119999-0000',
'1199999-0000',
'11999.0000',
'119999.0000',
'1199999.0000',
'119990000',
'1199990000',
'11999990000',
'11999 0000',
'119999 0000',
'1199999 0000',
];
strings.map(function (string) {
if (regex.test(string)) {
console.info(string);
} else {
console.warn(string);
}
});
@alganet
Copy link

alganet commented Mar 30, 2012

Muita treta vish

@felquis
Copy link

felquis commented Feb 22, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment