猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
如何在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; }}
0
0
0
慕容708150
-?\d+(\.\d+)?(,-?\d+(\.\d+)?)*,?
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
1 回答
正则表达式
正则判断数字末尾的为0情况
3 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续