Javascript 我如何检查它是否是完整的数据

Javascript 我如何检查它是否是完整的数据,javascript,node.js,Javascript,Node.js,我有一个从客户端设备接收数据的服务器。客户端将向服务器发送数据,并且数据总是以3个字符结尾,例如*46 如何检查数据是否以星号和2个字符结尾,以便我知道这是来自我客户的完整数据 此外,设备可能会在数据的末尾附加一个换行符,那么如何检查数据的末尾是否有换行符呢 以下是我目前的代码: var net = require('net'); var server = net.createServer(function(socket) { socket.on('data', function(dat

我有一个从客户端设备接收数据的服务器。客户端将向服务器发送数据,并且数据总是以3个字符结尾,例如
*46

如何检查数据是否以星号和2个字符结尾,以便我知道这是来自我客户的完整数据

此外,设备可能会在数据的末尾附加一个换行符,那么如何检查数据的末尾是否有换行符呢

以下是我目前的代码:

var net = require('net');

var server = net.createServer(function(socket) {
   socket.on('data', function(data) {
       var receivedata = data.toString();
      // How to check if received data is complete, i.e. ending in 3 characters, *23
   });
});

您可以为此使用正则表达式。以下是一些帮助您起步的链接:

您需要的实际正则表达式是:
*[0-9]{2}$使用正则表达式。例如:

var str = "Hello wor*23";
if(str.match(/\*[0-9][0-9]$/)){
  console.log("Hello");
}
else{
  console.log("Data not proper");
}

它检查最后3个值是否为
*number

您可能正在查找此值

只要数据是流的一块,就需要等待
end
事件来获取完整的数据

var net = require('net');

var server = net.createServer(function(socket) {
   var receivedata = "";
   socket.on('data', function(data) {
      receivedata += data.toString();
   });
   socket.on('end', function() {
      console.log(receivedata);
   });
});
注意未经测试