首页 > 解决方案 > android中的联系人验证

问题描述

在这我试图验证电话号码。但即使我输入了正确的号码,它也不会验证。代码如下

    cont=(EditText)findViewById(R.id.editcontact);


    final String MobilePattern = "[0-9]{10}";
    btn_log=(Button)findViewById(R.id.button_log);
    btn_log.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {

           final String phn=cont.getText().toString();


           if (!phn.matches(MobilePattern)) {
               Toast.makeText(LoginActivity.this, "Invalid Contact number", Toast.LENGTH_SHORT).show();
           } else {

               Intent i = new Intent(LoginActivity.this, RegisterActivity.class);
               startActivity(i);

           }
       }

   });

标签: android

解决方案


您的正则表达式是正确的,但您以不正确的方式使用它,您需要在使用它来匹配之前编译您的模式。

String  patterntomatch ="[0-9]{10}";
Pattern pattern=Pattern.compile(patterntomatch);
Matcher matcher=pattern.matcher(phn);

if (!matcher.find()) {
    Toast.makeText(LoginActivity.this, "Invalid Contact number", Toast.LENGTH_SHORT).show();
} else {
   //To get matching text you can use
   String ans = phn.substring(matcher.start(), matcher.end());
   Intent i = new Intent(LoginActivity.this, RegisterActivity.class);
           startActivity(i);
}

推荐阅读