DevExpress 文本框只能输入数字验证
2014-04-16 11:29
197 查看
public class NumberCheck
{
private static ToolTipController toolTipController1=new ToolTipController();
/// <summary>
/// 检查文本框是否录入的是整数数字类型 (支持全角输入)
/// </summary>
/// <param name="e"></param>
public static void IntValueCheck(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 22)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
string mystr = (String)iData.GetData(DataFormats.Text);
System.Text.RegularExpressions.Regex Rgx = new System.Text.RegularExpressions.Regex(@"^\d+$");
if (!Rgx.Match(mystr).Success)
e.Handled = true;
else
return;
}
return;
}
//允许输入的字符
string AstrictChar = "0123456789";
//「BackSpace」「Delete」后退键正常删除操作
if ((Keys)(e.KeyChar) == Keys.Back)
{
return;
}
//「Ctrl+C」(3)「Ctrl+X」(24)特殊组合键正常
//「Ctrl+Z」(26) 撤消组合键正常
if ((e.KeyChar == 3) || (e.KeyChar == 24) || (e.KeyChar == 26))
{
return;
}
//当首位和末尾的字符位.时
//允许输入的字符外.
if (AstrictChar.IndexOf(e.KeyChar.ToString()) == -1)
{
e.Handled = (e.KeyChar < '0' || e.KeyChar > '9') & (e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != '\b';
if (e.KeyChar >= '0' & e.KeyChar <= '9')
{
e.KeyChar = ToHalfInput(e.KeyChar);
return;
}
toolTipController1.Rounded = true;
toolTipController1.ShowBeak = true;
toolTipController1.ToolTipLocation = ToolTipLocation.TopCenter;
toolTipController1.AutoPopDelay = 1000;
ToolTipControllerShowEventArgs args = toolTipController1.CreateShowArgs();
args.ToolTip = "请输入整数";
args.IconType = ToolTipIconType.Information;
args.ImageIndex = -1;
args.IconSize = ToolTipIconSize.Small;
toolTipController1.ShowHint(args, sender as TextEdit);
e.Handled = true;
return;
}
}
/// <summary>
/// 检查文本框是否录入的是整数数字类型 (支持全角输入)
/// </summary>
/// <param name="e"></param>
public static void IntValueCheck(KeyPressEventArgs e)
{
if (e.KeyChar == 22)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
string mystr = (String)iData.GetData(DataFormats.Text);
try
{
Convert.ToInt32(mystr);
return;
}
catch
{
e.Handled = true;
}
}
return;
}
//允许输入的字符
string AstrictChar = "0123456789";
//「BackSpace」「Delete」后退键正常删除操作
if ((Keys)(e.KeyChar) == Keys.Back)
{
return;
}
//「Ctrl+C」(3)「Ctrl+X」(24)特殊组合键正常
//「Ctrl+Z」(26) 撤消组合键正常
if ((e.KeyChar == 3) || (e.KeyChar == 24) || (e.KeyChar == 26))
{
return;
}
//当首位和末尾的字符位.时
// if()
//允许输入的字符外.
if (AstrictChar.IndexOf(e.KeyChar.ToString()) == -1)
{
e.Handled = (e.KeyChar < '0' || e.KeyChar > '9') & (e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != '\b';
if (e.KeyChar >= '0' & e.KeyChar <= '9')
{
e.KeyChar = ToHalfInput(e.KeyChar);
return;
}
XtraMessageBox.Show("请输入整数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
e.Handled = true;
return;
}
}
/// <summary>
/// 检查文本框是否录入的是小数数字类型 (支持全角输入)
/// </summary>
/// <param name="e"></param>
public static void DoubleValueCheck(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 22)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
string mystr = (String)iData.GetData(DataFormats.Text);
double dnum = 0;
if (double.TryParse(mystr, out dnum))
{
return;
}
else
e.Handled = true;
}
return;
}
//允许输入的字符
string AstrictChar = "0123456789.";
TextEdit tb = sender as TextEdit;
if (tb != null && tb.Text.Trim().Length > 0)
{
if (tb.Text.IndexOf('.') >= 0)
{
if (e.KeyChar.ToString().Equals("."))
{
e.Handled = true;
return;
}
}
}
else if (tb.Text.Trim().Length == 0 && e.KeyChar.ToString() == ".")
{
e.Handled = true;
return;
//tb.Text = "0.";
}
//「BackSpace」「Delete」后退键正常删除操作
if ((Keys)(e.KeyChar) == Keys.Back)
{
return;
}
//「Ctrl+C」(3)「Ctrl+X」(24)特殊组合键正常
//「Ctrl+Z」(26) 撤消组合键正常
if ((e.KeyChar == 3) || (e.KeyChar == 24) || (e.KeyChar == 26))
{
return;
}
//当首位和末尾的字符位.时
//允许输入的字符外.
if (AstrictChar.IndexOf(e.KeyChar.ToString()) == -1)
{
e.Handled = (e.KeyChar < '0' || e.KeyChar > '9') & (e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != '\b';
if (e.KeyChar >= '0' & e.KeyChar <= '9')
{
e.KeyChar = ToHalfInput(e.KeyChar);
return;
}
toolTipController1.Rounded = true;
toolTipController1.ShowBeak = true;
toolTipController1.ToolTipLocation = ToolTipLocation.TopCenter;
toolTipController1.AutoPopDelay = 1000;
ToolTipControllerShowEventArgs args = toolTipController1.CreateShowArgs();
args.ToolTip = "请输入数字";
args.IconType = ToolTipIconType.Information;
args.ImageIndex = -1;
args.IconSize = ToolTipIconSize.Small;
toolTipController1.ShowHint(args, sender as TextEdit);
e.Handled = true;
return;
}
}
/// <summary>
/// 全角数字转换为半角
/// </summary>
/// <param name="quan"></param>
/// <returns></returns>
private static char ToHalfInput(char quan)
{
switch (quan)
{
case '0':
return '0';
case '1':
return '1';
case '2':
return '2';
case '3':
return '3';
case '4':
return '4';
case '5':
return '5';
case '6':
return '6';
case '7':
return '7';
case '8':
return '8';
case '9':
return '9';
default:
return '9';
}
}
}
{
private static ToolTipController toolTipController1=new ToolTipController();
/// <summary>
/// 检查文本框是否录入的是整数数字类型 (支持全角输入)
/// </summary>
/// <param name="e"></param>
public static void IntValueCheck(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 22)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
string mystr = (String)iData.GetData(DataFormats.Text);
System.Text.RegularExpressions.Regex Rgx = new System.Text.RegularExpressions.Regex(@"^\d+$");
if (!Rgx.Match(mystr).Success)
e.Handled = true;
else
return;
}
return;
}
//允许输入的字符
string AstrictChar = "0123456789";
//「BackSpace」「Delete」后退键正常删除操作
if ((Keys)(e.KeyChar) == Keys.Back)
{
return;
}
//「Ctrl+C」(3)「Ctrl+X」(24)特殊组合键正常
//「Ctrl+Z」(26) 撤消组合键正常
if ((e.KeyChar == 3) || (e.KeyChar == 24) || (e.KeyChar == 26))
{
return;
}
//当首位和末尾的字符位.时
//允许输入的字符外.
if (AstrictChar.IndexOf(e.KeyChar.ToString()) == -1)
{
e.Handled = (e.KeyChar < '0' || e.KeyChar > '9') & (e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != '\b';
if (e.KeyChar >= '0' & e.KeyChar <= '9')
{
e.KeyChar = ToHalfInput(e.KeyChar);
return;
}
toolTipController1.Rounded = true;
toolTipController1.ShowBeak = true;
toolTipController1.ToolTipLocation = ToolTipLocation.TopCenter;
toolTipController1.AutoPopDelay = 1000;
ToolTipControllerShowEventArgs args = toolTipController1.CreateShowArgs();
args.ToolTip = "请输入整数";
args.IconType = ToolTipIconType.Information;
args.ImageIndex = -1;
args.IconSize = ToolTipIconSize.Small;
toolTipController1.ShowHint(args, sender as TextEdit);
e.Handled = true;
return;
}
}
/// <summary>
/// 检查文本框是否录入的是整数数字类型 (支持全角输入)
/// </summary>
/// <param name="e"></param>
public static void IntValueCheck(KeyPressEventArgs e)
{
if (e.KeyChar == 22)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
string mystr = (String)iData.GetData(DataFormats.Text);
try
{
Convert.ToInt32(mystr);
return;
}
catch
{
e.Handled = true;
}
}
return;
}
//允许输入的字符
string AstrictChar = "0123456789";
//「BackSpace」「Delete」后退键正常删除操作
if ((Keys)(e.KeyChar) == Keys.Back)
{
return;
}
//「Ctrl+C」(3)「Ctrl+X」(24)特殊组合键正常
//「Ctrl+Z」(26) 撤消组合键正常
if ((e.KeyChar == 3) || (e.KeyChar == 24) || (e.KeyChar == 26))
{
return;
}
//当首位和末尾的字符位.时
// if()
//允许输入的字符外.
if (AstrictChar.IndexOf(e.KeyChar.ToString()) == -1)
{
e.Handled = (e.KeyChar < '0' || e.KeyChar > '9') & (e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != '\b';
if (e.KeyChar >= '0' & e.KeyChar <= '9')
{
e.KeyChar = ToHalfInput(e.KeyChar);
return;
}
XtraMessageBox.Show("请输入整数!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
e.Handled = true;
return;
}
}
/// <summary>
/// 检查文本框是否录入的是小数数字类型 (支持全角输入)
/// </summary>
/// <param name="e"></param>
public static void DoubleValueCheck(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 22)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
string mystr = (String)iData.GetData(DataFormats.Text);
double dnum = 0;
if (double.TryParse(mystr, out dnum))
{
return;
}
else
e.Handled = true;
}
return;
}
//允许输入的字符
string AstrictChar = "0123456789.";
TextEdit tb = sender as TextEdit;
if (tb != null && tb.Text.Trim().Length > 0)
{
if (tb.Text.IndexOf('.') >= 0)
{
if (e.KeyChar.ToString().Equals("."))
{
e.Handled = true;
return;
}
}
}
else if (tb.Text.Trim().Length == 0 && e.KeyChar.ToString() == ".")
{
e.Handled = true;
return;
//tb.Text = "0.";
}
//「BackSpace」「Delete」后退键正常删除操作
if ((Keys)(e.KeyChar) == Keys.Back)
{
return;
}
//「Ctrl+C」(3)「Ctrl+X」(24)特殊组合键正常
//「Ctrl+Z」(26) 撤消组合键正常
if ((e.KeyChar == 3) || (e.KeyChar == 24) || (e.KeyChar == 26))
{
return;
}
//当首位和末尾的字符位.时
//允许输入的字符外.
if (AstrictChar.IndexOf(e.KeyChar.ToString()) == -1)
{
e.Handled = (e.KeyChar < '0' || e.KeyChar > '9') & (e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != '\b';
if (e.KeyChar >= '0' & e.KeyChar <= '9')
{
e.KeyChar = ToHalfInput(e.KeyChar);
return;
}
toolTipController1.Rounded = true;
toolTipController1.ShowBeak = true;
toolTipController1.ToolTipLocation = ToolTipLocation.TopCenter;
toolTipController1.AutoPopDelay = 1000;
ToolTipControllerShowEventArgs args = toolTipController1.CreateShowArgs();
args.ToolTip = "请输入数字";
args.IconType = ToolTipIconType.Information;
args.ImageIndex = -1;
args.IconSize = ToolTipIconSize.Small;
toolTipController1.ShowHint(args, sender as TextEdit);
e.Handled = true;
return;
}
}
/// <summary>
/// 全角数字转换为半角
/// </summary>
/// <param name="quan"></param>
/// <returns></returns>
private static char ToHalfInput(char quan)
{
switch (quan)
{
case '0':
return '0';
case '1':
return '1';
case '2':
return '2';
case '3':
return '3';
case '4':
return '4';
case '5':
return '5';
case '6':
return '6';
case '7':
return '7';
case '8':
return '8';
case '9':
return '9';
default:
return '9';
}
}
}
相关文章推荐
- js验证如何限制文本框只能输入数字
- 文本框输入验证:只能输入数字和小数点
- 验证文本框只能输入数字
- input文本框验证(只能输入字母和数字)
- js 验证文本框只能输入数字和小数点
- js验证文本框只能输入数字
- 文本框 只能输入数字和小数点验证
- 验证文本框只能输入数字
- 验证文本框转化为金额,小数点后只能输入两位数字
- DevExpress的文本框 只能输入保留2位小数的正数字
- 验证文本框只能输入数字兼容FF,IE
- Javascript验证和限制文本框只能输入数字或者小数
- 在c#中 限制文本框只能输入数字
- Java文本框只能输入数字,键盘监听,以及判断字符串是否只是数字,并去除前面多余的0
- 限制文本框只能输入数字,小数点,英文字母,汉字
- jquery封装 [ 限制文本框只能输入数字和小数] 语句,简单调用即可
- 让文本框只能输入数字
- 设置文本框不能只能输入数字,小数点后只能输入2位
- 造轮子:js限制文本框只能输入数字方法
- jQuery使用正则表达式限制文本框只能输入数字