检查字符串以查看其中是否有逗号

时间:2017-11-01 17:54:54

标签: javascript regex string

如何在下面修改现有代码,以便如果字符串中没有逗号,则只输出常规值。

function test() {

    //alert(get_ref_docs('12345678,987654321,14439696',1))

    alert(get_ref_docs('12345678',1)) -error received here.

alert(get_ref_docs('12345678',1)) -> would like the value alerted "12345678"



}
function get_ref_docs(str,num) {

/*Now strings will be a three element array where

    strings[0] contains the full string
    strings[1] contains the string before the first comma
    strings[2] contains everything after the first comma

*/
var x = str.match(/([^,]*),(.*)/);

return x[num]


}

2 个答案:

答案 0 :(得分:0)

我认为您可以使用此regex将此添加到您的代码中:

var x = str.match(/[^,]+/g);
return x && x[num] ? x[num] : str;

如果您的字符串包含逗号,并且您的num是有效索引,您将获得您的价值。 如果没有,将返回原始字符串。

例如:



function test() {
    console.log(get_ref_docs('12345678,987654321,14439696', 2));    
    console.log(get_ref_docs('12345678', 1));
    console.log(get_ref_docs('12345678,987654321,14439696', 3));
}

function get_ref_docs(str, num) {
    var x = str.match(/[^,]+/g);
    return x && x[num] ? x[num] : str;
}

test();




答案 1 :(得分:0)

这里不需要正则表达式。只有split昏迷,如下:

function get_ref_docs(str, num) {
    return str.split(",")[num - 1];
}