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