Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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
Javascript 正则表达式匹配任何不以零结尾的数字_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式匹配任何不以零结尾的数字

Javascript 正则表达式匹配任何不以零结尾的数字,javascript,regex,Javascript,Regex,我在为掷骰子游戏征求意见。 输入的数字是否能被10整除真的很重要 对于以零结尾的数字,我有\d+0 我需要一个不以零结尾的数字 提前谢谢。也许这样就行了 \d*[1-9] 我想应该有用 这将至少匹配一个数字,后跟一个非零数字 但是,您很可能需要以某种方式嵌入它,或者通过锚定它: ^\d+[1-9]$ 验证完整字符串是否仅包含该数字(但您也可以将所述字符串转换为数字并进行mod 10) 按照您当前使用的方式(以及您问题中的表达式),它将匹配一个像1203这样的数字,这两个表达式都没有问题,因为

我在为掷骰子游戏征求意见。 输入的数字是否能被10整除真的很重要

对于以零结尾的数字,我有\d+0

我需要一个不以零结尾的数字


提前谢谢。

也许这样就行了

\d*[1-9]
我想应该有用

这将至少匹配一个数字,后跟一个非零数字

但是,您很可能需要以某种方式嵌入它,或者通过锚定它:

^\d+[1-9]$
验证完整字符串是否仅包含该数字(但您也可以将所述字符串转换为数字并进行mod 10)

按照您当前使用的方式(以及您问题中的表达式),它将匹配一个像
1203
这样的数字,这两个表达式都没有问题,因为正则表达式匹配子字符串,除非您锚定它们(在某些环境中,它们默认是这样锚定的——我认为Java会这样做)


此外,这至少只适用于两位数,您在问题中发布的表达式也是如此。我认为这是故意的。如果不是,则在这两种情况下,
+
可能都是
*

这不是正则表达式的好用法

我建议使用或整数除法运算符

if (number % 10) {
  // number doesn't end in zero
}
我想

\d*[1-9]

效果更好。

您可以尝试使用此选项排除0

\d+[^0]?

我认为(d%10==0)是测试10整除性的更好方法。

整除技巧适用于整数而不是小数

如果有人需要验证这一点,该怎么办:

123.120
它以一个不重要的零结束

所以123.12/X和123.120/X给出了相同的结果 123.12%X和123.120%X的情况相同 (最后一个操作无效,因为值不是整数,所以无法获取浮点/数字的模块)

只能为整数值(整数/整数)获取模块

还有人可能会试图寻找:

AnyTextWithNumbersNotEndingOnZero_0  <--- Not valid
AnyTextWithNumbersNotEndingOnZero    <--- Valid
希望有帮助

啊!!如果想要字母和数字,但最后一个不是零:

/[0-9A-Za-z]*0$/

etc

如果要使用正则表达式,请尝试使用此正则表达式

  ^([1-9]+)$  
使用普通JavaScript var num=温度

if(temp % 10 !==0){

//your code

}

啊,该死。我花了大约15秒的时间来设定文章的最小长度,我想:-)这个答案更吸引我,因为最初的问题在环境方面是多么模糊;它特别提到正则表达式。另外,这听起来像是一个简单的正则表达式家庭作业问题。我担心这和一位数不匹配。@Joey这种方式与一位数(即5)不匹配。如果你要做这样的事情。。。也许还是用正则表达式:[1-9]+Hyperboreus,Zote:他在问题中发布的表达式也一样。kchau:不,这会阻止像
103
这样的数字。这样就不能与1位数(即5)匹配。例如,你的表达式匹配12、120、1000、12C和100D。
  ^([1-9]+)$  
if(temp % 10 !==0){

//your code

}