正则表达式--正负整数

复制代码
参考 https://www.cnblogs.com/yibuyi-123/p/14661160.html
1
2
3
4
5
6
7
8
9
10
11
12
13
BOOL CheckNumValid(CString strIn)
{
    wstring szName = strIn.GetBuffer();
    strIn.ReleaseBuffer();
    std::wregex reg(L"^-?(([1-9]+\\d*)|(0{1}))(\\.\\d{1,2})?");    //正负数,最多两位小数
    std::wsmatch result;
    BOOL bIsValid = regex_match(szName, result, reg);
    if (!bIsValid)
    {
        msgbox(L"请输入规范的数字(最多两位小数)!");
    }
    return bIsValid;
}

  



  主要满足几点要求:
复制代码

1、保留两位小数
2、允许负数(如果你不想要负数,看着图把负数开头的分支砍掉就可以),正数不需要“+”号表示;不允许-0(或-0.0,-0.00)
3、整数部分,值如果是0,不允许重复这个0(如000,00),如果值不是0,不允许以0开头(如01,001)

 

 

  

1
2
3
4
5
6
7
8
9
10
wstring szName = strName.GetBuffer();
    strName.ReleaseBuffer();
    std::wregex reg(L"^[a-zA-Z_0-9\u4e00-\u9fff]+$");    //字母、数字、下划线、汉字
    std::wsmatch result;
    BOOL bIsValid = regex_match(szName, result, reg);
    if (!bIsValid)
    {
        msgbox(L"不能输入除下划线_以外的特殊字符!");
        return;
    }

  

posted @   曦花  阅读(926)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示