为了账号安全,请及时绑定邮箱和手机立即绑定

如何在C#窗体中textBox中加入正则表达式?

如何在C#窗体中textBox中加入正则表达式?

月关宝盒 2022-05-08 14:10:42
比如:textBox中输入: 0.23,0.56,26,999,1268,-0.26,只可以输入这两种数据: 数字+逗号(英文半角,)求::::正则表达式
查看完整描述

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞


建议先匹配是否符合数字,小数点,逗号^[-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 in sNum) {                if (!string.IsNullOrEmpty(n)) {                    if (!regNum.IsMatch(n)) {                        return false;                    }                }            }        else {            return false;        }        return true;    }}




查看完整回答
反对 回复 2022-05-10
?
慕容708150

TA贡献1831条经验 获得超4个赞

-?\d+(\.\d+)?(,-?\d+(\.\d+)?)*,?

查看完整回答
反对 回复 2022-05-10
  • 2 回答
  • 0 关注
  • 346 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信