Android:有没有什么好的解决方案来验证Editboxes

时间:2010-11-06 18:19:25

标签: android validation

例如,我想要验证最小长度,如果是Email,则需要PhoneNumber

这在android中怎么可能。我想验证。

4 个答案:

答案 0 :(得分:1)

  1. 如果您想阻止用户输入内容,请扩展InputFilter并将其注册到EditText

    // built in InputFilter.LengthFilter limits the umber of chars
    EditText.setFilters(new Filter[]{new InputFilter.LengthFilter(100)})
    

答案 1 :(得分:1)

您可以执行许多操作来验证

  1. 添加输入过滤器。有关详细信息,请访问http://developer.android.com/reference/android/text/InputFilter.html如何在此处提及如何向可编辑视图添加过滤器http://developer.android.com/reference/android/text/Editable.html#setFilters%28android.text.InputFilter

  2. 使用TextWatchers随时修改内容。有关TextWatchers的更多信息,请http://developer.android.com/reference/android/text/TextWatcher.html使用http://developer.android.com/reference/android/widget/TextView.html#addTextChangedListener(android.text.TextWatcher)

  3. 为您的EditText设置此项

    注意:Android本身实现的很少。如果可以,请使用它们。在TextWatcher和InputFilter

    的文档中查找子类

答案 2 :(得分:1)

用于验证文本框

<强> 1。最小长度:你可以直接给出该文本的长度。  的 2。邮件验证:

public boolean isEmailValid(String email)
        {
             String regExpn =
                 "^(([\\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})$";

         CharSequence inputStr = email;

         pattern = Pattern.compile(regExpn,Pattern.CASE_INSENSITIVE);
         matcher = pattern.matcher(inputStr);

         if(matcher.matches())
            return true;
         else
            return false;
 }

<强> 1。对于电话号码:如果要固定长度,请给出长度,输入类型为数字。

答案 3 :(得分:1)