cómo comprobar el texto de edittext
es la dirección de correo electrónico o no sin usar javascript
y la expresión regular? Aquí usé inputtype="textEmailAddress"
esto está funcionando pero no se muestra ningún mensaje de error.cómo revisar el texto de edittext es la dirección de correo electrónico o no?
Respuesta
/**
* method is used for checking valid email id format.
*
* @param email
* @return boolean true for valid false for invalid
*/
public static boolean isEmailValid(String email) {
String expression = "^[\\w\\.-][email protected]([\\w\\-]+\\.)+[A-Z]{2,4}$";
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
Pase la cadena de texto de edición en esta función.
para la verificación de correo electrónico adecuado que necesita servidor de autenticación lado
Nota Ahora hay un método integrado en Android, ver las respuestas a continuación.
Gracias, Droid He hecho esto. –
esto está funcionando correctamente. –
'String' implementa' CharSequence', así que creo que el molde de 'email' a' inputStr' es redundante. – yoshi
para la validación de correo electrónico intente esto.
public boolean checkemail(String email)
{
Pattern pattern = Pattern.compile("[email protected]+\\.[a-z]+");
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
señor por favor prueba tu validación para [email protected]+*&.com como correo electrónico –
En Android 2.2 + Utilice:
boolean isEmailValid(CharSequence email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
¡increíble! Realmente útil. –
escribí una biblioteca que se extiende EditarTexto que soporta de forma nativa algunos métodos de validación y en realidad es muy flexible.
actual, mientras escribo, (atributos a través xml) forma nativa apoyado métodos de validación son:
- expresión regular: la expresión-regular a medida
- numérico: para un único campo numérico
- alpha: para un solo campo alfa
- alphaNumeric: ¿adivina qué?
- correo electrónico: comprueba que el campo es un correo electrónico válido
- tarjetaCredito: comprueba que el campo contiene una tarjeta de crédito válida utilizando Luhn algoritmo
- teléfono: comprueba que el campo contiene un número de teléfono válido
- nombreDominio: comprueba que el campo contiene un nombre de dominio válido (siempre pasa la prueba en el nivel API < 8)
- ipAddress: comprueba que el campo contiene un válido WebUrl dirección IP : comprueba que el campo contiene una URL válida (siempre pasa la prueba de nivel de API < 8)
- nocheck: No comprueba nada.(Por defecto)
Puede verificarlo aquí: https://github.com/vekexasia/android-form-edittext
espero que lo disfruten :)
En la página he vinculado podrás encontrar también un ejemplo para la validación de correo electrónico. Voy a copiar el fragmento relativa aquí:
<com.andreabaccega.widget.FormEditText
style="@android:style/Widget.EditText"
whatever:test="email"
android:id="@+id/et_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_email"
android:inputType="textEmailAddress"
/>
También hay una aplicación de prueba que muestra las posibilidades de la biblioteca.
Esta es una captura de pantalla de la aplicación que valida el campo de correo electrónico.
aquí correo electrónico es su correo electrónico-id.
public boolean validateEmail(String email) {
Pattern pattern;
Matcher matcher;
String EMAIL_PATTERN = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
pattern = Pattern.compile(EMAIL_PATTERN);
matcher = pattern.matcher(email);
return matcher.matches();
}
El autor del correo electrónico actual RFC, John Klensin, tiene una dirección de correo electrónico que rechazas. Contiene un signo +. – arnt
Un método simple
private boolean isValidEmail(String email)
{
String emailRegex ="^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
if(email.matches(emailRegex))
{
return true;
}
return false;
}
boolean isEmailValid (email String) public static { boolean isValid = false;
String expression = "^(([\\w-]+\\.)+[\\w-]+|([a-zA-Z]{1}|[\\w-]{2,}))@"
+ "((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?"
+ "[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\."
+ "([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?"
+ "[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|"
+ "([a-zA-Z]+[\\w-]+\\.)+[a-zA-Z]{2,4})$";
// "^[\\w\\.-][email protected]([\\w\\-]+\\.)+[A-Z]{2,4}$";
CharSequence inputStr = email;
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
if (!matcher.matches()) {
isValid = true;
}
return isValid;
}
I Hope this code is beneficial for you
public class Register extends Activity
{
EditText FirstName, PhoneNo, EmailId,weight;
Button Register;
private static final Pattern EMAIL_PATTERN = Pattern
.compile("^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
private static final Pattern USERFIRSTNAME_PATTERN = Pattern
.compile("[a-zA-Z0-9]{1,250}");
private static final Pattern PHONE_PATTERN = Pattern
.compile("[a-zA-Z0-9]{1,250}");
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
Register=(Button) findViewById(R.id.register);
FirstName=(EditText)findViewById(R.id.person_firstname);
PhoneNo =(EditText)findViewById(R.id.phone_no);
EmailId=(EditText)findViewById(R.id.email_id);
weight=(EditText) findViewById(R.id.weight);
Register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sFirstName= FirstName.getText().toString();
sPhoneNo= PhoneNo.getText().toString();
sEmailId= EmailId.getText().toString();
sweight= weight.getText().toString();
if(sFirstName.equals("")||sPhoneNo.equals("")||sEmailId.equals("")||sweight.equals(""))
{
if ((!CheckUsername(sFirstName)))
{
Toast.makeText(Register.this, "FirstName can not be null",Toast.LENGTH_LONG).show();
}
else if ((!Checkphoneno(sPhoneNo)))
{
Toast.makeText(Register.this, "ENTER VALID mobile no ",Toast.LENGTH_LONG).show();
}
else if ((!CheckEmail(sEmailId)))
{
Toast.makeText(Register.this, "ENTER VALID EMAIL ID",Toast.LENGTH_LONG).show();
}
else if ((!Checkweight(sweight)))
{
Toast.makeText(Register.this, "ENTER Weight in kg",Toast.LENGTH_LONG).show();
}
}
}
private boolean CheckEmail(String sEmailId) {
return EMAIL_PATTERN.matcher(sEmailId).matches();
}
private boolean CheckUsername(String sFirstName) {
return USERFIRSTNAME_PATTERN.matcher(sFirstName).matches();
}
private boolean Checkphoneno(String sPhoneNo) {
return PHONE_PATTERN.matcher(sPhoneNo).matches();
}
private boolean Checkweight(String sweight) {
return Weight_PATTERN.matcher(sweight).matches();
}
});
gracias ayuda a resolver mi problema :) –
su bienvenida ... –
Por favor, siga los siguientes pasos
Paso 1:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<EditText
android:id="@+id/editText_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_below="@+id/textView_email"
android:layout_marginTop="40dp"
android:hint="Email Adderess"
android:inputType="textEmailAddress" />
<TextView
android:id="@+id/textView_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:text="Email Validation Example" />
</RelativeLayout>
Paso 2:
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
Paso 3:
public class MainActivity extends Activity {
private EditText email;
private String valid_email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initilizeUI();
}
/**
* This method is used to initialize UI Components
*/
private void initilizeUI() {
// TODO Auto-generated method stub
email = (EditText) findViewById(R.id.editText_email);
email.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
Is_Valid_Email(email); // pass your EditText Obj here.
}
public void Is_Valid_Email(EditText edt) {
if (edt.getText().toString() == null) {
edt.setError("Invalid Email Address");
valid_email = null;
} else if (isEmailValid(edt.getText().toString()) == false) {
edt.setError("Invalid Email Address");
valid_email = null;
} else {
valid_email = edt.getText().toString();
}
}
boolean isEmailValid(CharSequence email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email)
.matches();
} // end of TextWatcher (email)
});
}
}
El siguiente código debería ser útil para usted.
String email;
check.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
checkEmail(email);
if (checkMail) {
System.out.println("Valid mail Id");
}
}
});
}
}
public static boolean checkEmail(String email) {
Pattern EMAIL_ADDRESS_PATTERN = Pattern
.compile("[a-zA-Z0-9+._%-+]{1,256}" + "@"
+ "[a-zA-Z0-9][a-zA-Z0-9-]{0,64}" + "(" + "."
+ "[a-zA-Z0-9][a-zA-Z0-9-]{0,25}" + ")+");
return EMAIL_ADDRESS_PATTERN.matcher(email).matches();
}
Apache Commons Validator se puede utilizar como se menciona en las otras respuestas.
Paso: 1) Descarga el archivo jar here
Paso: 2) Añadir en sus bibliotecas de proyectos
La importación:
import org.apache.commons.validator.routines.EmailValidator;
El código:
String email = "[email protected]";
boolean valid = EmailValidator.getInstance().isValid(email);
y para permitir las direcciones locales ::
boolean allowLocal = true;
boolean valid = EmailValidator.getInstance(allowLocal).isValid(email);
se puede comprobar por la expresión regular
public boolean isValid(String strEmail)
{
pattern = Pattern.compile("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
matcher = pattern.matcher(strEmail);
if (strEmail.isEmpty()) {
return false;
} else if (!matcher.matches()) {
return false;
}
else
{
return true;
}
}
private boolean isValidEmailID(String email) {
String PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
Pattern pattern = Pattern.compile(PATTERN);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
Como se mencionó en una de las respuestas que puede utilizar la clase Patterns
de la siguiente manera:
public final static boolean isValidEmail(CharSequence target) {
if (target == null)
return false;
return android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
}
Por casualidad si incluso está apoyando Nivel de API menor que 8, luego puede simplemente copiar el archivo Patterns.java
en su proyecto y hacer referencia a él. Puede obtener el código fuente Patterns.java
desde this link
- 1. ¿Es seguro usar codificadores de correo electrónico? ¿O cómo es más seguro mostrar la dirección de correo electrónico?
- 2. dirección de correo electrónico noreply.
- 3. Control .NET como Outlook Dirección de correo electrónico Texto Control
- 4. ¿Cuál es la dirección de correo electrónico más larga posible?
- 5. ¿Cómo comprobar si una dirección de correo electrónico es falsa?
- 6. ¿Es una dirección de correo electrónico un URI?
- 7. ¿Es una buena práctica de entrada de "Confirmar correo electrónico" cuando el usuario cambia la dirección de correo electrónico?
- 8. ¿Cómo puedo obtener la dirección de correo electrónico
- 9. Cómo copiar la dirección de correo electrónico en outlook 2007
- 10. Identificar si una dirección de correo electrónico es 'pública'
- 11. Enviando un correo electrónico de manera que "desde" es un nombre o texto en lugar de la dirección de correo electrónico real
- 12. cómo cambiar la dirección de correo electrónico predeterminada para postfix?
- 13. MS Access envía un correo electrónico (no desde Outlook o el correo electrónico del usuario)
- 14. django-registration no puede establecer la dirección de correo electrónico "de" para el correo electrónico de autenticación
- 15. claves Gitosis y ssh: ¿la dirección de correo electrónico tiene algo que ver con la dirección de correo electrónico git?
- 16. ¿Cuál es el beneficio de validar la dirección de correo electrónico en el registro?
- 17. Ocultando la dirección de correo electrónico con jQuery
- 18. Acceder a contactos y obtener la dirección de correo electrónico
- 19. HgGit: "dirección de correo electrónico no válida" en GitHub
- 20. "El correo electrónico no puede estar en blanco" Idear usando nombre de usuario o correo electrónico
- 21. Validar la dirección de correo electrónico en UITextField
- 22. Cómo obtener la dirección de correo electrónico de la cuenta de compra no primaria
- 23. Html.La etiqueta para mostrar la dirección de correo electrónico
- 24. Cómo verificar que realmente exista una dirección de correo electrónico enviando un correo electrónico a java
- 25. Correo electrónico HTML alinea el texto
- 26. ¿Cómo verificar si existe una dirección de correo electrónico?
- 27. ¿Expresión válida de la dirección de correo electrónico?
- 28. ¿Cómo puedo mayúsculas una dirección de correo electrónico?
- 29. En el Kindle Fire, ¿es posible obtener la dirección de correo electrónico de un usuario?
- 30. El uso de expresiones regulares para extraer nombre de usuario de la dirección de correo electrónico
Seguramente la respuesta de PointerNull a continuación es la respuesta razonable, moderna, aquí? – Fattie
@JoeBlow Sí, estoy de acuerdo, pero hay una cantidad limitada de tiempo que el "asker" puede cambiar la respuesta acordada ... – giulio