android开发分享Android上的EditText电子邮件地址validation

我们怎样才能在android edittext上执行Email Validation ? 我已经通过谷歌和SO,但我没有find一个简单的方法来validation它。

     public final static boolean isValidEmail(CharSequence target) { if (target == null) { return false; } else { return android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches(); } } 

    编辑::这将工作在Android 2.2以上!

    要执行电子邮件validation,我们有很多方法,但最简单和最简单的方法是两种方法

    1 –使用EditText(....).addTextChangedListener ,它保持在EditText box每个input触发,即email_id无效或有效

     /** * Email Validation ex:- tech@end.com */ final EditText emailValidate = (EditText)findViewById(R.id.textMessage); final TextView textView = (TextView)findViewById(R.id.text); String email = emailValidate.getText().toString().trim(); String emailPattern = "[a-zA-Z0-9._-]+@[az]+\.+[az]+"; emailValidate .addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { if (email.matches(emailPattern) && s.length() > 0) { Toast.makeText(getApplicationContext(),"valid email address",Toast.LENGTH_SHORT).show(); // or textView.setText("valid email"); } else { Toast.makeText(getApplicationContext(),"Invalid email address",Toast.LENGTH_SHORT).show(); //or textView.setText("invalid email"); } } public void beforeTextChanged(CharSequence s, int start, int count, int after) { // other stuffs } public void onTextChanged(CharSequence s, int start, int before, int count) { // other stuffs } }); 

    2-使用if-else条件的最简单的方法。 使用getText()获取EditText框string,并与为电子邮件提供的模式进行比较。 如果模式不匹配或macthes,onClick的button吐司消息。 它不会触发EditText框中每个字符的input。 简单的例子如下所示。

     final EditText emailValidate = (EditText)findViewById(R.id.textMessage); final TextView textView = (TextView)findViewById(R.id.text); String email = emailValidate.getText().toString().trim(); String emailPattern = "[a-zA-Z0-9._-]+@[az]+\.+[az]+"; // onClick of button perform this simplest code. if (email.matches(emailPattern)) { Toast.makeText(getApplicationContext(),"valid email address",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(),"Invalid email address", Toast.LENGTH_SHORT).show(); } 

    使用此方法validation您的电子邮件格式。 将电子邮件作为string传递,如果格式正确则返回true,否则返回false。

     /** * validate your email address format. Ex-akhi@mani.com */ public boolean emailValidator(String email) { Pattern pattern; Matcher matcher; final 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(); } 

    这太简单了:

    添加此方法检查 电子邮件地址是否有效

     private boolean isValidEmaillId(String email){ return Pattern.compile("^(([\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})$").matcher(email).matches(); } 

    现在检查stringEditText

     if(isValidEmaillId(edtEmailId.getText().toString().trim())){ Toast.makeText(getApplicationContext(), "Valid Email Address.", Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(getApplicationContext(), "InValid Email Address.", Toast.LENGTH_SHORT).show(); } 

    完成

    尝试这个:

     if (!emailRegistration.matches("[a-zA-Z0-9._-]+@[az]+.[az]+")) { editTextEmail.setError("Invalid Email Address"); } 

    使用此方法validation电子邮件: –

      public static boolean isEditTextContainEmail(EditText argEditText) { try { Pattern pattern = Pattern.compile("^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$"); Matcher matcher = pattern.matcher(argEditText.getText()); return matcher.matches(); } catch (Exception e) { e.printStackTrace(); return false; } } 

    如果您有任何疑问,请告诉我

     public static boolean isEmailValid(String email) { boolean isValid = false; String expression = "^[\w\.-]+@([\w\-]+\.)+[AZ]{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; } 

    尝试这个

     public static final 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}" + ")+" ); 

    并编辑文本

     final String emailText = email.getText().toString(); EMAIL_ADDRESS_PATTERN.matcher(emailText).matches() 

    这是我为validation电子邮件地址而创build的示例方法,如果传递的string参数是有效的电子邮件地址,则返回true,否则返回false。

     private boolean validateEmailAddress(String emailAddress){ String expression="^[\w\-]([\.\w])+[\w]+@([\w\-]+\.)+[AZ]{2,4}$"; CharSequence inputStr = emailAddress; Pattern pattern = Pattern.compile(expression,Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(inputStr); return matcher.matches(); } 

      以上就是android开发分享Android上的EditText电子邮件地址validation相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/520362.html

      (0)
      上一篇 2020年12月6日
      下一篇 2020年12月6日

      精彩推荐