C# 输入验证

来源:互联网 发布:樱桃初夏网络剧 编辑:程序博客网 时间:2024/06/03 03:50
 public class InputHelper
    {
        private const char Quot = '.';
        /// <summary>
        /// 输入金额 数字和小数点
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void InputMoney(object sender, KeyPressEventArgs e)
        {
            if (!IsNumber(e) && !IsRemove(e) && e.KeyChar != Quot)
            {
                e.Handled = true;
            }
            string value = ((TextBox)sender).Text;
            if (value == "0" && e.KeyChar == (int)Keys.D0)
            {
                e.Handled = true;
            }
            if (e.KeyChar == 46 && (value.IndexOf(".") >= 0 || string.IsNullOrEmpty(value))) e.Handled = true;
        }


        /// <summary>
        /// 输入数字 0~9
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public static void InputNumber(object sender, KeyPressEventArgs e)
        {
            if (!IsNumber(e) && !IsRemove(e))
            {
                e.Handled = true;
            }
        }


        /// <summary>
        /// 输入身份证 0~9 和 x
        /// </summary>
        public static void InputID(object sender, KeyPressEventArgs e)
        {
            if (!IsNumber(e) && !IsRemove(e) && !IsX(e))
            {
                e.Handled = true;
            }
        }


        /// <summary>
        /// 输入正整数
        /// </summary>
        public static void InputNature(object sender, KeyPressEventArgs e)
        {
            if (!IsNumber(e) && !IsRemove(e))
            {
                e.Handled = true;
            }
            string value = ((TextBox)sender).Text;
            if (value == "0" && e.KeyChar == (int)Keys.D0)
            {
                e.Handled = true;
            }
            if ((int)e.KeyChar == 48 && string.IsNullOrEmpty(value)) e.Handled = true;
        }


        private static bool IsNumber(KeyPressEventArgs e)
        {
            return (int)e.KeyChar >= 48 && (int)e.KeyChar <= 57;
        }


        private static bool IsRemove(KeyPressEventArgs e)
        {
            return (int)e.KeyChar == 8;
        }


        private static bool IsX(KeyPressEventArgs e)
        {
            return e.KeyChar == 'x' || e.KeyChar == 'X';
        }
    }
0 0
原创粉丝点击