Member 13233111 Ответов: 1

Как мне выполнить это для проверки IP-адреса в edittext?


public void checkIP(String Value)
   {
       Pattern pattern = Pattern.compile("[0-255].[0-255].[0-255].[0-255]");
       Matcher matcher = pattern.matcher(Value);
       boolean IPcheck = matcher.matches();
       if(IPcheck){
           boolean IsValidData=true;
           String _strServer=((EditText)findViewById(R.id.txtserver)).getText().toString().trim();
       }
       //it is IP
       else{
           Toast.makeText(getBaseContext(), "Please Check Your IP Format: ", Toast.LENGTH_SHORT).show();
       }
       //it is not IP


   }
   public void loginbuttonclick(View v)
   {
       ProgressDialog pDialog = new ProgressDialog(LoginActivity.this);
       // Set progressbar title
       pDialog.setTitle("Authentication");
       // Set progressbar message
       pDialog.setMessage("Authenticating...");
       pDialog.setIndeterminate(false);
       pDialog.setCancelable(false);
       // Show progressbar
       pDialog.show();
       try
       {
           //Validate input data
           boolean IsValidData=true;
           String _strServer=((EditText)findViewById(R.id.txtserver)).getText().toString().trim();; //"192.168.0.172";
           String _strUser=((EditText)findViewById(R.id.txtuser)).getText().toString().trim();;//"admin";
           String _strPass=((EditText)findViewById(R.id.txtpass)).getText().toString();//"admin";

           if(_strServer==null || _strServer.isEmpty() || _strServer=="")
           {
               IsValidData=false;
               pDialog.dismiss();
               Toast.makeText(getBaseContext(),"Kindly enter valid server ip! : ",Toast.LENGTH_SHORT).show();
           }


Что я уже пробовал:

Для null и Empty я уже сделал, так как же мне поставить checkIP? пожалуйста помочь..

Richard Deeming

Почему вы ограничиваете своих пользователей IPv4-адресами, когда Протокол IPv6[^] был "почти готов" в течение нескольких десятилетий? :)

Не проще ли было бы использовать его IPAddressUtil[^] чтобы проверить, является ли строка допустимым адресом IPv4 или IPv6?

1 Ответов

Рейтинг:
6

Majid Ali Khan Quaid

Я бы сказал, используйте это регулярное выражение, чтобы убедиться, что оно находится в правильном формате
([0-9]{1,3}\.){3}[0-9]{1,3}
и затем
разделите его на '.', разберите его на целое число и проверьте, находится ли он в диапазоне (0-255) или нет


Member 13233111

Не могли бы вы предоставить мне код на моем данном образце?