Criei esse objeto com base na função ctype do PHP, pois decidi fazer uma pré validação na front-end antes de passar os valores para back-end e vi que não possuia nem uma função do gênero em javascript. Não testei todas as ER's, porém, qualquer problema estou a disposição.
Obs.: Não sei se essa é a melhor maneira de utilizar essas funções, porém, achei mais pratico organizar em um objeto.
Código PHP:
var check = {
empty : function (str) {
var patt = new RegExp('^$', 'g');
return patt.test(str);
},
alnum : function (str) {
var patt = new RegExp('^[a-zA-Z0-9]+$', 'g');
return patt.test(str);
},
alpha : function (str) {
var patt = new RegExp('^[a-zA-Z]+$', 'g');
return patt.test(str);
},
cntrl : function (str) {
var patt = new RegExp('^[\n\r\t]+$', 'g');
return patt.test(str);
},
digit : function (str) {
var patt = new RegExp('^[0-9]+$', 'g');
return patt.test(str);
},
graph : function (str) {
var patt = new RegExp('^[^\n\r\t ]+$');
return patt.test(str);
},
lower : function (str) {
var patt = new RegExp('^[a-z]+$', 'g');
return patt.test(str);
},
print : function (str) {
var patt = new RegExp('^[^\n\r\t]+$', 'g');
return patt.test(str);
},
punct : function (str) {
var patt = new RegExp('^[^a-zA-Z0-9\n\r\t]+$', 'g');
return patt.test(str);
},
space : function (str) {
var patt = new RegExp('^[\n\r\t]+$', 'g');
return patt.test(str);
},
upper : function (str) {
var patt = new RegExp('^[A-Z]+$', 'g');
return patt.test(str);
},
xdigit : function (str) {
var patt = new RegExp('^0[xX][0-9a-fA-F]+$', 'g');
return patt.test(str);
},
between : function (str, min, max) {
return (str >= min && str <= max);
},
name : function (str) {
var patt = new RegExp('^[A-Z]{1}[a-z]+( [A-Z]{1}[a-z]+){0,4} [A-Z]{1}[a-z]+$', 'g');
return patt.test(str);
},
email : function (str) {
var patt = new RegExp('^([a-z0-9_.]+)\@([a-z0-9]+)\.([a-z]+(\.[a-z]+)?)$', 'g');
return patt.test(str);
}
};
Referências:
[Somente usuários registrados podem vem os links. ]
[Somente usuários registrados podem vem os links. ]
[Somente usuários registrados podem vem os links. ]
[Somente usuários registrados podem vem os links. ]