texto - salto de linea edittext android
¿Cómo revisar el texto de edittext es la dirección de correo electrónico o no? (14)
Como se menciona en una de las respuestas, puede usar la clase Patterns
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 admite niveles de API inferiores a 8, puede simplemente copiar el archivo Patterns.java
en su proyecto y consultarlo. Puede obtener el código fuente de Patterns.java
desde este enlace
¿Cómo revisar el texto de edittext
es la dirección de correo electrónico o no sin usar javascript
y expresiones regulares? Aquí utilicé inputtype="textEmailAddress"
esto está funcionando pero no se muestra ningún mensaje de error.
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();
}
En Android 2.2+ usa esto:
boolean isEmailValid(CharSequence email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
Escribí una biblioteca que amplía EditText que admite nativamente algunos métodos de validación y que en realidad es muy flexible.
Los métodos de validación actuales, a medida que escribo, soportados de forma nativa (a través de los atributos xml ) son:
- regexp : para expresiones regulares personalizadas
- numérico : para un único campo numérico
- alpha : para un campo solo alfa
- alphaNumeric : ¿adivina qué?
- correo electrónico : comprueba que el campo sea un correo electrónico válido
- CreditCard : comprueba que el campo contiene una tarjeta de crédito válida utilizando el algoritmo Luhn
- teléfono : verifica que el campo contenga un número de teléfono válido
- domainName : comprueba que el campo contenga un nombre de dominio válido (siempre pasa la prueba en el nivel API <8)
- ipAddress : comprueba que el campo contenga una dirección IP válida webUrl: comprueba que el campo contiene una URL válida (siempre pasa la prueba en el nivel API <8)
- nocheck : no comprueba nada. (Defecto)
Puede consultarlo aquí: https://github.com/vekexasia/android-form-edittext
Espero que lo disfrutes :)
En la página que he vinculado, también podrá encontrar un ejemplo para la validación de correo electrónico. Copiaré el fragmento relativo 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.
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)
});
}
}
Puedes verificarlo por 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;
}
}
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;
}
aquí el correo electrónico es su ID de correo electrónico.
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();
}
para la validación del correo electrónico prueba esto.
public boolean checkemail(String email)
{
Pattern pattern = Pattern.compile(".+@.+//.[a-z]+");
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
public static boolean isEmailValid (String email) {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//.-]+@([//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;
}
Apache Commons Validator se puede usar como se menciona en las otras respuestas.
Paso: 1) Descarga el archivo jar desde aquí
Paso: 2) Agrégalo a tus 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 direcciones locales ::
boolean allowLocal = true;
boolean valid = EmailValidator.getInstance(allowLocal).isValid(email);
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();
}
});
/**
* 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//.-]+@([//w//-]+//.)+[A-Z]{2,4}$";
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
Pase su cadena de texto de edición en esta función.
para la correcta verificación del correo electrónico necesita autenticación del lado del servidor
Tenga en cuenta que ahora hay un método incorporado en Android, consulte las respuestas a continuación.
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();
}