如果缺少字符串,如何插入括号和值
How to insert the parentheses and values if missing string?
这里我有一组带逗号的字符串,比如"stack,flow(2),over(4),temp(0)"如果只是没有开括号和闭括号值的字符串,我需要插入with(1)。堆栈(1)。
Expected scenario :
1.insert (1) missing open & close parentheses
2.within parentheses should be >0 numeric values.
3.within parentheses if any alpha character , show error message.
由于我需要验证括号中的值应该是numeric。我已经尝试了一些场景,但我需要帮助插入(1)。
function testCases(str){
return (
str.match(new RegExp("''([^,]+'')","g")).length == str.split(",").length
);
}
这是jsfiddle
如果我正确理解您想要在逗号前插入(1)
,如果没有带括号的组,那么您可以这样做:
var str = "stack,flow(2),over(4),temp(0)";
str = str.replace(/([^)]),/g, "$1(1),");
结果:"stack(1),flow(2),over(4),temp(0)"
如果你还想确保组包含一个严格的正整数,你可以做
var str = "stack,flow(2),flow(k),over(4),neg(-3),temp(0)";
str = str.split(',').map(function(s){
return s.replace(/('((.*?)'))?$/, function(s,d,e) {
return '('+ (e>0?e:1)+')'
})
}).join(',');
结果:"stack(1),flow(2),flow(1),over(4),neg(1),temp(1)"
好吧,我的解决方案有点复杂,但更具相关性,例如它适用于:
stacka(z),flow(2),over(4),temp(0),ccc
这里的代码:
function convert(str) {
//ends with (num)
var regexObj = /'('d+')$/;
return str.split(',').map(function(p) {
return p + (regexObj.test(p) ? '' : '(1)');
}).join(',');
}
http://jsfiddle.net/rooseve/pU2Q7/
相关文章:
- javascript时间戳插入字符串变量
- 在 JavaScript 中,将文本插入字符串的最简单方法是什么?
- 我可以在 Javascript 中的 onclick 中的“this”之后插入字符串吗?
- 在CoffeeScript中,是否存在一个'官方'在运行时而不是编译时插入字符串的方法
- 在变量索引处插入字符串
- 如何在文本输入数组中插入字符串
- 如何在Angular中插入字符串
- 使用JavaScript在另一个字符串的多个位置插入字符串
- 使用eclipse批处理脚本:在文件名中插入字符串
- 将JavaScript对象中的属性插入字符串
- 在页面上的图像后面插入字符串
- ES6从文件内容插入字符串
- 在Angular中不能在http get请求中插入字符串
- 在PHP中定义的javascript中插入字符串
- 动态插入字符串到ACE代码编辑器,angular JS
- 在元素ID中循环时插入字符串
- 在head标签内插入字符串
- 在区域中忠实地插入字符串
- 在行号 nodejs 处插入字符串
- 当用户输入时自动插入字符串