检查条目是否以逗号分隔

时间:2015-02-20 06:29:40

标签: javascript

我有几个包含以逗号分隔的条目的字符串,例如:

('ENTRY1', 'ENTRY2','ENTRY3')

如您所见,每个条目都以逗号分隔,可以带或不带以下空格。

如果每个条目之间总是有逗号(有或没有空白),我如何检查JavaScript。

该字符串可以包含0到n个条目。

要求:脚本应根据以下示例返回true或false:

('ENTRY1', 'ENTRY2','ENTRY3') // return false
('ENTRY1' 'ENTRY2''ENTRY3')   // return true
('ENTRY1','ENTRY2''ENTRY3')   // return true

false =正确输入 true =错误输入

3 个答案:

答案 0 :(得分:2)

从你的例子:

('ENTRY1', 'ENTRY2','ENTRY3') // return false
('ENTRY1' 'ENTRY2''ENTRY3')   // return true
('ENTRY1','ENTRY2''ENTRY3')   // return true

由于条目包含在单引号(' ')中,您可以执行



function validate(entries) {
  if (entries.replace(/ /g, '').indexOf("''") > -1) {
    return true;
  } else {
    return false;
  }
}

//Test case
var entries1 = "('ENTRY1', 'ENTRY2','ENTRY3')";
var entries2 = "('ENTRY1' 'ENTRY2''ENTRY3')";
var entries3 = "('ENTRY1','ENTRY2''ENTRY3')";
document.write(validate(entries1)+","+validate(entries2)+","+validate(entries3));




答案 1 :(得分:0)

您可以像这样使用拆分:

var splitArray = someString.split(',');

用于明确说明其由,

分隔

答案 2 :(得分:0)

如果我理解正确的话, 你可以使用正则表达式来确保如果你的字符串与你上面提到的一样,那么两个项目之间总是有一个逗号

var str = "('ENTRY1', 'ENTRY2','ENTRY3')";

str = str.match(/'([^'])+'/g).join(',');

因为您更新了代码,所以您可以使用此代码来实现以下

('ENTRY1', 'ENTRY2','ENTRY3') // return false
('ENTRY1' 'ENTRY2''ENTRY3')   // return true
('ENTRY1','ENTRY2''ENTRY3')   // return true

false =正确输入true = false条目



function isNotOK(str){
  var match = str.match(/'[^,i]+'/g);
  var len = str.match(/'([^'])+'/g)
  if(match && len && match.length === len.length){
    return false;
  }
  return true;
}
    
var str1 = "('ENTRY1', 'ENTRY2','ENTRY3')";
var str2 = "('ENTRY1' 'ENTRY2''ENTRY3')";

document.write(isNotOK(str1) + ' , ' +  isNotOK(str2));