检查变量是否包含字母字符

时间:2017-11-10 12:31:48

标签: javascript arrays regex google-sheets

我正在尝试弹出包含字母字符的数组的每个结果。为此,我使用:

if(gtin.toString().length != 13 || /[a-z\-]+/ig.test(gtin) == true) {
    gtin = "null";
}

它适用于某些变量...但不是每次都有。例如:

  • CS230
  • C1
  • L3940-黑色

所有这些变量仍会出现在数组中。你知道为什么这不起作用吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

你必须添加数字并锚定你的正则表达式:



var test = [
    'abc',
    'CS230',
    'C1',
    'L3940-noir',
    'ab::cd'
];
console.log(test.map(function (a) {
  return a+' :'+/^[a-z0-9-]+$/ig.test(a);
}));




答案 1 :(得分:1)

这真的不是一个答案。它更像是 工作的例证。



var texts = ['CS230','C1', 'L3940-noir', '1231231231231', '/()!!!###&&&+', 'ABCDEFGHIJKLM', '0123456s78901'];

texts.forEach(function(gtin) {
          
  if(gtin.toString().length != 13 || /[a-z\-]+/ig.test(gtin) == true) {
    gtin = "null";
  }
  document.write(gtin + '<br/>');
});
&#13;
&#13;
&#13;

检查此代码段,您会发现所有示例都设置为空,即&#34;拒绝&#34; (我想这就是你的意思)。它只允许长度为13个字符且没有字母的字符串通过。