2016-01-10 6 views
0

Итак, я работаю в Xamarin, чтобы создать приложение для Android C# для школы, и в какой-то момент пользователю нужно ввести номер IBAN. Я хочу проверить, соответствует ли вход 4 раза четыре числа с тире между ними (например, 1234-1234-1234-1234), К сожалению, я понятия не имею, как это сделать, и я не нашел ничего, что могло бы мне помочь , так далеко.Проверка пользовательского ввода на Android для чисел

Это моя деятельность, когда мне нужно проверить, соответствует ли вход «mTxtIBAN» номер IBAN.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

using Android.App; 
using Android.Content; 
using Android.OS; 
using Android.Runtime; 
using Android.Views; 
using Android.Widget; 

namespace LoginSystem 
{ 
[Activity (Label = "SubDetailsBankActivity")]   
public class SubDetailsBankActivity : Activity 
{ 
    private Button mBtnContinue; 
    private EditText mTxtIBAN; 
    private EditText mTxtBIC; 

    private TextView mIBANWarning; 
    private TextView mBICWarning; 
    protected override void OnCreate (Bundle savedInstanceState) 
    { 
     base.OnCreate (savedInstanceState); 
     SetContentView (Resource.Layout.SubBankDetails); 
     // Create your application here 
     string email = Intent.GetStringExtra ("Email") ?? "Data not available"; 
     string firstName = Intent.GetStringExtra ("FirstName") ?? "Data not available"; 
     string lastName = Intent.GetStringExtra ("LastName") ?? "Data not available"; 
     string streetNumber = Intent.GetStringExtra ("StreetNumber") ?? "Data not available"; 
     string cityCode = Intent.GetStringExtra ("CityCode") ?? "Data not available"; 
     string country = Intent.GetStringExtra ("Country") ?? "Data not available"; 


     mBtnContinue = FindViewById<Button> (Resource.Id.btnContinue); 
     mTxtIBAN = FindViewById<EditText> (Resource.Id.IBAN); 
     mTxtBIC = FindViewById<EditText> (Resource.Id.BIC); 

     mIBANWarning = FindViewById<TextView> (Resource.Id.IBANtext); 
     mBICWarning = FindViewById<TextView> (Resource.Id.BICtext); 

     mBtnContinue.Click += (object sender, System.EventArgs e) => 
     { 
      if (mTxtIBAN.Text.Length != 0 && mTxtBIC.Text.Length != 0) { 
       var newSub = new Intent(this, typeof(SubDetailsComplete)); 
       newSub.PutExtra ("Email", email); 
       newSub.PutExtra ("FirstName", firstName); 
       newSub.PutExtra ("LastName", lastName); 
       newSub.PutExtra ("StreetNumber", streetNumber); 
       newSub.PutExtra ("CityCode",cityCode); 
       newSub.PutExtra ("Country", country); 
       newSub.PutExtra ("IBAN", mTxtIBAN.Text); 
       newSub.PutExtra ("BIC", mTxtBIC.Text); 

       StartActivity (newSub); 
      } 
      if (mTxtIBAN.Text.Length == 0){ 
       mIBANWarning.Text = "Fill in your IBAN number!"; 
      } 
      if (mTxtBIC.Text.Length == 0){ 
       mBICWarning.Text = "Fill in your BIC number!"; 
      } 
     }; 
    } 
} 
} 

Любая помощь будет очень признательна. Заранее благодарю вас за приятный день.

+0

Надеется, что вы могли бы знать об этом ... Попробуйте использовать регулярные выражения, чтобы соответствовать вашей строке .... – Srinivasan

+0

@Srinivasan я не знаю об этом, но Я посмотрю это :) – yoshiMannaert

ответ

1

Вы можете проверить это следующим образом:

Regex rgx = new Regex(@"^\d{4}?-\d{4}?-\d{4}?-\d{4}?$"); 
if (rgx.IsMatch(mTxtIBAN.Text)) 
{ 
    // valid IBAN 
} 
Смежные вопросы