繁体   English   中英

我可以在javascript中链接子字符串吗?

[英]Can I chain a substring check in javascript?

我正在使用以下代码:

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

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

我是否可以通过仅添加“ .substring(from,to)”来实现上述目的,还是需要将其放入变量中然后检查变量?

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

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

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

为了更完整地讨论“链接”:只要要链接的对象包含一个方法,就可以链接所有内容。 一个完全荒谬的例子:

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'

尝试使用带有负数start的 substrsubstring

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

要么

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

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

你也可以用slice

if (store.getItem('TopicID').slice(2,4) != "00") {
      // Do Your Stuff
}

我可以在上面添加“ .substring(from,to)”作为我的一部分吗?

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

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

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

if (store.getItem('TopicID') % 100)
 var yourString = (store.getItem('TopicID'))
 if(yourString.substring((yourString.length - 2), 2) == "00")

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM