Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅接受小数和数字的正则表达式,包括零点小数和限制0_C#_Regex - Fatal编程技术网

C# 仅接受小数和数字的正则表达式,包括零点小数和限制0

C# 仅接受小数和数字的正则表达式,包括零点小数和限制0,c#,regex,C#,Regex,我需要为文本框编写一个正则表达式来输入金额。就像货币一样。它应该接受小数和整数。还限制0和负数。这是我的正则表达式。但它不允许小数 "nonZero": { "regex": "^[1-9][0-9]*$", "alertText": "* This field cannot be zero", "alertTextCheckboxMultiple": "* Please select an option",

我需要为文本框编写一个正则表达式来输入金额。就像货币一样。它应该接受小数和整数。还限制0和负数。这是我的正则表达式。但它不允许小数

"nonZero": { "regex": "^[1-9][0-9]*$",
                    "alertText": "* This field cannot be zero",
                    "alertTextCheckboxMultiple": "* Please select an option",
                    "alertTextCheckboxe": "* This checkbox is required",
                    "alertTextDateRange": "* Both date range fields are required"

我想你忘了给正则表达式加小数。 一定是这样的:

“^[1-9][0-9]*(\[0-9]+)?$”

反斜杠(转义符)表示点(.)与点大致相同,因为点对正则表达式有一些意义。 parantesis是将一些正则表达式部分组合到一起

问号表示该组可能存在,也可能不存在

所以正则表达式是一个字符序列,第一个是1-9,一些字符在0-9之间,还有一个点&一些数字可能存在也可能不存在


但请注意,点在括号中,所以如果它存在,十进制也必须存在。加号表示,如果存在点,则至少必须存在一个数字

我想你忘了在正则表达式中添加小数部分。 一定是这样的:

“^[1-9][0-9]*(\[0-9]+)?$”

反斜杠(转义符)表示点(.)与点大致相同,因为点对正则表达式有一些意义。 parantesis是将一些正则表达式部分组合到一起

问号表示该组可能存在,也可能不存在

所以正则表达式是一个字符序列,第一个是1-9,一些字符在0-9之间,还有一个点&一些数字可能存在也可能不存在


但请注意,点在括号中,所以如果它存在,十进制也必须存在。加号表示如果存在点,则至少必须存在一个数字

^(([1-9]{1}|[\d]{2,})(\.[\d]+)?)$|^(0\.[\d]+)$

在哪里

  • ^(0\.[\d]+)$
    =>用于
    0
  • ^([1-9]{1}{124;[\ d]{2,})(\[\d]+)?)$
    其余正数
输出

2131 => Valid
2.3434 => Valid
0.45 => Valid
123 => Valid

234. => Invalid
.5234 => Invalid
a => Invalid
-123123 => Invalid

实现这一点的一种方法是使用以下方法

^(([1-9]{1}|[\d]{2,})(\.[\d]+)?)$|^(0\.[\d]+)$

在哪里

  • ^(0\.[\d]+)$
    =>用于
    0
  • ^([1-9]{1}{124;[\ d]{2,})(\[\d]+)?)$
    其余正数
输出

2131 => Valid
2.3434 => Valid
0.45 => Valid
123 => Valid

234. => Invalid
.5234 => Invalid
a => Invalid
-123123 => Invalid

这将起作用,是最短的解决方案:

^-?\d+$|^-?\d+.\d+$

请参见此处的示例-->

这将起作用,是最短的解决方案:

^-?\d+$|^-?\d+.\d+$

请参见此处的示例-->

这是否回答了您的问题?这回答了你的问题吗?嗨,谢谢你的回答。我检查了你的正则表达式,它接受小数点并限制为0。但它也限制了0.1和0。小数。我也需要接受这些。试试这个:^(0*\.0*[1-9]+)([1-9][0-9])*(\[0-9]+)$这限制了1.0这个:^(0*\.0*[1-9]+)(0*[1-9][0-9]*(\[0-9]+)$是。这个很好用。终于得到了正确的答案。嗨,谢谢你的回答。我检查了你的正则表达式,它接受小数点并限制为0。但它也限制了0.1和0。小数。我也需要接受这些。试试这个:^(0*\.0*[1-9]+)([1-9][0-9])*(\[0-9]+)$这限制了1.0这个:^(0*\.0*[1-9]+)(0*[1-9][0-9]*(\[0-9]+)$是。这个很好用。最终得到了正确的答案。这在正则表达式测试仪中运行良好。但当我将其应用于java脚本代码并从asp.net代码调用它时。它限制0.1或从0开始的任何其他小数。这是我的密码$addClass('validate[custom[nonZero]]');然后我在js文件中编写了上面的正则表达式,这在正则表达式测试程序中很好地工作。但当我将其应用于java脚本代码并从asp.net代码调用它时。它限制0.1或从0开始的任何其他小数。这是我的密码$addClass('validate[custom[nonZero]]');然后我在js文件中编写了上面的正则表达式