我们在应用程序中使用条形码扫描器扫描条形码。通常,当扫描ISBN条形码时,它会在扫描ISBN: 97887021006268时返回以下一串键
LeftCtrl+B组合是前导,它告诉我们,我们正在开始读取标识号。LeftCtrl+C组合是一种后置形式,它告诉我们,我们正在完成读取识别号。LeftShift+M组合告诉我们我们读取条形码类型。根据这些信息,扫描条形码后,我可以自动搜索与相关的ISBN图书。我们正在使用我们自己的条形码阅读器库,在那里我们可以识别ISBN、Code39和I2Of5。
现在,我们的客户端都是新的条形码扫描仪,即键盘扫描器。扫描相同的ISBN后,我们可以看到它不包含、序言和postamble,就像返回条形码类型的代码一样好。相反,我们只得到数字,返回键的结尾:
在这种情况下,我无法自动识别条形码的类型,甚至无法识别是否扫描了条形码--例如,我无法自动搜索以解决我正在考虑的用户控件的问题:
使用选项(ISBN、scanned
中的值)标识数字
我想问,是否有其他(更好)的解决办法。
发布于 2011-10-20 18:54:14
有几个提示你可以编码。如果您正在扫描一本真正的书,您将得到一个EAN13+5 Bookland代码。如果您使用的是不同的代码类型(如您的示例),则只会得到13位数字。检查长度== 13或长度== 18。
ISBN从978 (或979,最终)开始,最后以MOD 10校验和结束。所以你可以检查扫描值
/^(97[8|9]\d{10})5(\d{4})$/美国定价的书。价格前的最后一个数字是校验和。这应该给你一个很好的指示,表明你正在使用ISBN。
我发现最好将其编码到服务器中,然后依靠用户进行正确的输入。
发布于 2011-10-19 11:39:12
你应该能够从两个很大的按钮“扫描簿”和“扫描顺序”中得到你丢失的信息,这样用户点击其中一个很大的按钮,你就知道要找什么了。
事情是这样的:
< code >G29执行所需的操作。
https://stackoverflow.com/questions/7818466
复制相似问题