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

比如:textBox中输入: 0.23,0.56,26,999,1268,-0.26,
只可以输入这两种数据: 数字+逗号(英文半角,)
求::::正则表达式

月关宝盒
浏览 347回答 2
2回答

慕容森

建议先匹配是否符合数字,小数点,逗号^[-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;    }}

慕容708150

-?\d+(\.\d+)?(,-?\d+(\.\d+)?)*,?
打开App,查看更多内容
随时随地看视频慕课网APP