2016-10-31 11 views

答えて

3

あなたは、正規表現とすることを解決することができ:含まれていたりfalseない場合場合

function match(input) { 
 
    var regex = /([,\.\:!\?])/; 
 
    var matches = input.match(regex); 
 
    return matches ? matches[0] : false; 
 
} 
 

 
console.log(match("foo?")); // "?" 
 
console.log(match("bar.")); // "." 
 
console.log(match("foobar")); // false

+1

あまりにも私はほとんど正確な機能をビート:( – TheValyreanGroup

2

は、ここであなたがfilter()indexOf()を使用して、文字列中に発見された記号の配列を返すことができます例機能

var checkSigns = function(str) { 
    var signs = [",",".",":","!","?"]; 

    for (var i = 0; i < signs.length; i++) { 
     if (str.indexOf[signs[i]] !== -1) { 
      return signs[i]; 
     } 
    } 
}; 
1

です。

var signs = [",",".",":","!","?"]; 
 
function check(str, arr) { 
 
    return arr.filter(function(e) { 
 
    return str.indexOf(e) != -1 
 
    }) 
 
} 
 

 
console.log(check("But,", signs)) 
 
console.log(check("Finished.", signs))

1

このプロトタイプstr.hasSign();リターンsignを試してみてください。

String.prototype.hasSigns = function() { 
 
    var signs = [",", ".", ":", "!", "?"]; 
 
    for (var i = 0; i < signs.length; i++) { 
 
    if (this.indexOf(signs[i]) > -1) return signs[i]; 
 
    } 
 
    return false; 
 
} 
 

 
console.log("football, basketball".hasSigns()); 
 

 
console.log("1-3".hasSigns()); 
 

 
console.log("Good!".hasSigns());

関連する問題