我有几个包含以逗号分隔的条目的字符串,例如:
('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 =错误输入
答案 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));