【问题标题】:Android: are there any good solutions how to validate EditboxesAndroid:有什么好的解决方案如何验证编辑框
【发布时间】:2011-05-06 02:14:17
【问题描述】:

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

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

【问题讨论】:

    标签: android validation


    【解决方案1】:
    1. 如果您想阻止用户输入内容,请扩展 InputFilter 并将其注册到您的 EditText

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

    【讨论】:

    • 我需要验证、发送电子邮件并设置最小长度。
    【解决方案2】:

    您可以做很多事情来验证

    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) 为您的 EditText 设置它

    注意:其中很少有在 Android 本身中实现。如果可以的话,利用它们。在 TextWatcher 和 InputFilter 的文档中查找子类

    【讨论】:

      【解决方案3】:

      用于文本框的验证

      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.对于电话号码:如果要固定长度,请给出长度,输入类型为数字。

      【讨论】:

        【解决方案4】:
        猜你喜欢
        • 1970-01-01
        • 2016-02-23
        • 1970-01-01
        • 2011-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-02
        相关资源
        最近更新 更多