29/03/2006, 14:15
|
| | | Fecha de Ingreso: marzo-2005 Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 8 meses Puntos: 0 | |
Código:
//solo verifica que contenga un punto y una arroba
String.prototype.pareceEmail = function() :Boolean{
return this.indexOf("@") != -1 && this.indexOf(".") != -1;
}
//ejemplos de su uso
var correos:Array = new Array('[email protected]','yoni.pache@co','yoni.@pacheco','yonipache.co','yoni@pacheco');
trace("PARECE EMAIL\n----------------------------------------------");
for(var i in correos) trace(correos[i]+' -> '+correos[i].pareceEmail());
OTRA MANERA
Código:
///////////////////////////////////////-------------------------->
//credits:
// String.isEmail Method v2.0
// by Jonas Galvez ([email protected])
// please report bugs =)
String.prototype.esEmail = function():Boolean {
var ref = arguments.callee;
if(this.indexOf('@') == -1 || this.indexOf('.') == -1) return false;
if(!isNaN(this.charAt(0))) return false;
var email, user, domain, user_dots, domain_dots;
if((email = this.split('@')).length == 2) {
if((domain = email[1]).split('.').pop().length > 3) return false;
if((user = email[0]).indexOf('.') && domain.indexOf('.')) {
if(domain.lastIndexOf('.') > domain.length-3) return false;
for(var c, t, i = (user_dots = user.split('.')).length; i--;) {
c = user_dots[i]; t = !ref.$_text.call(c, '-', '.', '_');
if(t || !isNaN(c)) return false;
};
for(var c, t, i = (domain_dots = domain.split('.')).length; i--;) {
c = domain_dots[i]; t = !ref.$_text.call(c, '-', '.');
if(t || !isNaN(c)) return false;
};
} else return false;
} else return false;
return true;
};
String.prototype.esEmail.$_punctuation = function() {
if(this == "") return false;
for(var i = arguments.length; i--;) {
if(this.indexOf(arguments[i]) == 0) return false;
if(this.indexOf(arguments[i]) == this.length-1) return false;
};
return true;
};
String.prototype.esEmail.$_text = function() {
var ref = arguments.caller;
if(!ref.$_punctuation.apply(this, arguments)) return false;
var others = arguments; var checkOthers = function(str) {
for(var i = others.length; i--;) if(str == others[i]) return true;
return false;
};
for(var c, alpha, num, i = this.length; i--;) {
c = this.charAt(i).toLowerCase();
alpha = (c <= "z") && (c >= "a");
num = (c <= "9") && (c >= "0");
if(!alpha && !num && !checkOthers(c)) return false;
};
return true;
};
ASSetPropFlags(String.prototype, "isEmail", 1);
//ejemplos
var mas_correos:Array = new Array("[email protected]","[email protected]","[email protected]","joe@somewherecom","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]","[email protected].","[email protected]","[email protected]","[email protected]","joe@[email protected]","[email protected]","@somewhere.com");
trace("\nES EMAIL\n----------------------------------------------");
for(var i in mas_correos) trace(mas_correos[i]+' -> '+mas_correos[i].esEmail());
stop();
esto último parece mostruoso, pero en la siguiente versión de ActionSctrip se podrá hacer en una línea usando con expresiones regulares
para usarlo solo tienes que llamarlo como método de una cadena
ejemp para verificar si el texto del campo de texto: 'email_txt' tiene formato de email
boton.onRelease = function(){
trace(email_txt.text.pareceEmail());
trace(email_txt.text.esEmail());
}
:D
__________________ Si digo que soy mentiroso. ¿Lo soy? |