0

我正在使用以下代码:

if (store.getItem('TopicID') != "00")

TopidID 始终是 4 位数字,我需要做的是更改它以检查最后两位数字是否为“00”。

作为上述的一部分,我可以通过添加“.substring(from,to)”来做到这一点,还是我需要将它放入一个变量中然后检查变量?

4

7 回答 7

1

用于if (!/00$/.test(store.getItem('TopicID'))检查最后 2 位不构成“00”的数字。这样,值的长度store.getItem('TopicID')无关紧要,您始终检查值的最后两个字符,并且不需要substring “链接”。

顺便说一句,我应该在这里store.getItem('TopicID')返回一个String

为了完整并回应 Paul Phillips 的评论: in !/00$/.test([somestring]),/00$/是一个正则表达式,一个用于描述搜索模式的特殊文本字符串。在这种情况下,这意味着:对于由 产生的字符串store.getItem('TopicID'),检查是否可以找到 2 个连续的零,其中$- 符号表示“检查字符串末尾的该模式”。

在“链接”这个主题上更完整:只要要链接的对象包含方法,就可以链接一切。一个完全荒谬的例子:

Number(/00$/.test('0231')) //convert a boolean to a Number
 .toFixed(2)               //a Number has the toFixed method
 .split('.')[1]            //toFixed returns a String, which has method split
 .substr(1)                //the second element is a string, so substr applies
 .concat(' world')         //still a string, so concat will do
 .split(' ')               //string, so split works
 .join(' hello ')          //from split an array emerged, so join applies
;
//=> result of this chain: '0 hello world'
于 2012-06-15T06:35:14.253 回答
0

尝试使用substr或带有负start的substring

if ( store.getItem('TopicID').substr(-2) !== "00" ){...}

或者

if ( store.getItem('TopicID').substring(-2) !== "00" ){...}
于 2012-06-15T06:40:50.957 回答
0

链接它会起作用。提取局部变量也是如此。所以不,你不需要。如果您认为它使代码更具可读性,请执行此操作。

于 2012-06-15T06:42:27.490 回答
0

你也可以slice使用

if (store.getItem('TopicID').slice(2,4) != "00") {
      // Do Your Stuff
}
于 2012-06-15T06:43:03.007 回答
0

我可以通过添加“.substring(from,to)”来作为上述的一部分吗?

是的你可以。但是,您的语法错误。

if (store.getItem('TopicID').substring( 2 ) != "00")
于 2012-06-15T06:44:44.287 回答
0

如果是四位数,你可以使用

if (store.getItem('TopicID') % 100)
于 2012-06-15T06:47:14.130 回答
0
 var yourString = (store.getItem('TopicID'))
 if(yourString.substring((yourString.length - 2), 2) == "00")

上面的代码并不关心你的字符串有多长。它获取最后两位数字并与“00”进行比较

于 2012-06-15T06:56:20.297 回答