بررسی درست وارد کردن ایمیل در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش های برنامه نویسی اندروید به بررسی درست وارد کردن ایمیل در برنامه نویسی اندروید می پردازیم این کار برای زمانی استفاده می شود که ورودی شما از کاربر گرفتن یک ایمیل باشد و شما باید بررسی کنید که آیا کاربر ایمیل را به درستی وارد کرده است (یعنی در آن @ وجود داشته باشد و کاربر از علامت ها استفاده نکرده باشد همه علامت ها غیر قابل استفاده است اما ” . ” قابل قبول می باشد.) در ادامه با ما همراه باشید.
ابتدا void زیر را در برنامه خود قرار دهید. (void را قبل از بسته شدن آخرین آکولاد خارج از main اصلی باید قرار گرفته شود ! )
1 2 3 4 5 6 7 8 | private boolean isValidEmailId(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(); } |
و نحوه استفاده از آن هم به شکل زیر می باشد.
1 2 3 4 5 | if(isValidEmailId(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(); } |
در بالا edtEmailId همان input ما می باشد یعنی باید آن را پیدا کنیم.
به مثال زیر توجه کنید تا کمی بیشتر درک کنید.
کد زیر را در بخش Layout خود قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="ir.input.MainActivity"> <EditText android:id="@+id/edtEmailId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textEmailAddress"/> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Check"/> </RelativeLayout> |
که شامل یک editText یا ورودی متن و دکمه است
و در بخش کد جاوا کد های زیر را قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.util.regex.Pattern; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button)findViewById(R.id.btn); final EditText edtEmailId= (EditText)findViewById(R.id.edtEmailId); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(isValidEmailId(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(); } } }); } private boolean isValidEmailId(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(); } } |
یک دکمه داریم که با کلیک بروی آن بررسی می شود ایا در ورودی ما ایمیل به درستی وارد شده است یا خیر اگر درست بود که پیام Valid Email Address نمایش داده می شود و در غیر اینصورت پیام InValid Email Address نمایش داده می شود.
این آموزش هم به پایان رسید.
موفق باشید.
سلام
چطوری برای شماره تلفن انجام بدم
یعنی اگه یازده تا شده یه کاری بکنه اگه مقادیر دیگه بوده یه کار دیگه