C#窗体中textBox中加入正则表达式:可以输入数字类型数据(int,double,小数、负数)和逗号(英文半角,)

C#窗体中textBox中加入正则表达式:可以输入数字类型数据(int,double,小数、负数)和逗号(英文半角,),第1张

建议先匹配是否符合数字,小数点,逗号

^[-0-9,\.]*$    //表达式

否→跳出,

是→继续,

再用分段函数以逗号分割到数组中。

对数组每个元素进行数字类型的匹配

^-?\d+(\.\d+)?$   //表达式

只要一个元素不匹配,则跳出。

这样完成文本的验证。 using Microsoft.VisualBasic

using System

using System.Collections

using System.Collections.Generic

using System.Data

using System.Diagnostics

using System.Text.RegularExpressions

public class Form1

{

private void TextBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)

{

if (Strings.Asc(e.KeyChar) == 13) {

if (CheckTxt(TextBox1.Text)) {

Interaction.MsgBox("通过检验!")

} else {

Interaction.MsgBox("输入格式错误,请检查!")

}

}

}

private bool CheckTxt(string i)

{

Regex regAll = new Regex("^[-0-9,\\.]*$")

if (regAll.IsMatch(i)) {

string[] sNum = Strings.Split(i, ",")

Regex regNum = new Regex("^-?\\d+(\\.\\d+)?$")

foreach (string n in sNum) {

if (!string.IsNullOrEmpty(n)) {

if (!regNum.IsMatch(n)) {

return false

}

}

}

} else {

return false

}

return true

}

}

windows能够显示的换行必须由两个字符组成:carriage

return

&

line

feed,也就是必须是"\r\n"。所以如果把"\n"替换成"\r\n"就可以了。

this.textboxdescription.text = " *** 作说明\r\nesc\t最小化\r\nalt+f4\t退出\r\nshift+f6\t设置访问地址"显示的结果为:

esc 最小化

alt+f4 退出

shift+f6 设置访问地址


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11932299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存