mahongmin1987 2018-10-30 00:59 采纳率: 0%
浏览 486
已采纳

c#求一个数据合法性正则表达式。

需求:textbox只能输入数字英文减号,首位不能是减号,并且减号不能连续出现两次,如xz-rl-0900匹配,xz--rl不匹配,-xz不匹配。

想法:textchange()里写如果不匹配就清空字符串并报错,想了一下如果正则要求末位也不为减号,可能无法实现,每次输-就会清空串,想法是在buttonOKClick()时再验证一下串的最后一位是不是‘-’,如果是再清空一次。

才学了2个月的新手,请大家想想更好的方法,请大家帮忙提供正则表达式,感谢!

悬赏弄错了,少了点哈,解决再补一下。

  • 写回答

3条回答 默认 最新

  • threenewbee 2018-10-30 03:04
    关注
    ^[a-zA-Z0-9]+([\-][a-zA-Z0-9]+)*([\-]){0,1}$
    

    末尾不能减号

     ^[a-zA-Z0-9]+([\-][a-zA-Z0-9]+)*$
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100