【问题标题】:Android custom input validation for numbers数字的Android自定义输入验证
【发布时间】:2016-04-14 18:36:04
【问题描述】:

所以我正在 Xamarin 中为学校制作一个 C# android 应用程序,并且在某些时候用户需要输入一个 IBAN 号码。 我想检查输入是否等于 4 乘以 4 个数字,它们之间有一个破折号(例如 1234-1234-1234-1234), 遗憾的是,我不知道该怎么做,到目前为止,我还没有找到任何可以帮助我的东西。

这是我的活动,我需要检查“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!";
            }
        };
    }
}
}

任何帮助将不胜感激。 提前感谢您,祝您有美好的一天。

【问题讨论】:

  • 希望你能知道...尝试使用正则表达式来匹配你的字符串....
  • @Srinivasan 我不知道,但我会查一下 :)

标签: c# android validation input xamarin


【解决方案1】:

你可以这样检查:

Regex rgx = new Regex(@"^\d{4}?-\d{4}?-\d{4}?-\d{4}?$");
if (rgx.IsMatch(mTxtIBAN.Text))
{
    // valid IBAN
}

【讨论】:

    猜你喜欢
    • 2014-06-16
    • 2018-03-18
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2020-12-20
    • 2016-07-17
    • 2016-03-04
    • 2019-02-18
    相关资源
    最近更新 更多