字符串的长度与节点js中的字符串不符

时间:2018-05-19 06:10:00

标签: javascript node.js

如何使first.length等于8并首先在node.js中包含“,,,,,,,”(7个字符)。

var express=require('express')
var app=express()
app.get('/',function(req,res)
{
    if(req.query.first)
    {
        if(req.query.first.length==8&&req.query.first==",,,,,,,")
        {
        res.send(result);
        return;
        }
    }
});

3 个答案:

答案 0 :(得分:0)

您可以使用req.query.first.length === 8 && req.query.first.substring(0, req.query.first.length - 1) === ',,,,,,,'作为条件,以便您的代码成为:

var express=require('express')
var app=express()
app.get('/',function(req,res)
  {
    if(req.query.first){
      var firstVal = req.query.first;
      if(firstVal.length === 8 && firstVal.substring(0, firstVal.length - 1) === ',,,,,,,'){
        res.send(result);
        return;
      }
    }
});

以下是一个示例:

var str = ',,,,,,,1';
if(str.length === 8 && str.substring(0, str.length - 1) === ',,,,,,,'){
  console.log('matched');
}

答案 1 :(得分:0)

使用startsWith功能

if( req.query.first.length == 8 && req.query.first.startsWith(',,,,,,,') )

答案 2 :(得分:0)

字符串长度与JavaScript中的字符数不一致的原因很简单:

  1. 字符串中有不可见的字符,例如invisible timesinvisible separator
  2. 有些字符需要超过2个字节。在JavaScripts中,字符串使用2个字节来编码字符。如果符号UTF-8编码需要超过2个字节,则JavaScript将使用2个字符(4个字节)来存储它,并且该符号的长度将为2,例如, ''.length == 2