如何获得“;年;来自jquery或javascript中的字符串值

how to get "year" from string values in jquery or javascript?

本文关键字:javascript 字符串 jquery 何获得 来自      更新时间:2023-09-26

我得到了这样的字符串:

string1 = "Feb 2010 " 
string2 =  "On Going"
string3 =  "may 1990 "
string4 = "jun 1990 "
string5 =  "On Going "

我正试图写一个这样的函数:

function getyear(val)
{
    return val;
}

所以如果我通过字符串1,它应该给我"2010",如果通过字符串2,它应该是给我"现在"

如何使用jquery?还是java脚本?

使用正则表达式,例如:

/'d{4}/.test(val) ? val.replace(/^[^'d]*('d{4}).*$/, '$1') : 'Now';

var string = [ "Feb 2010 ", "On Going", "may 1990 ", "jun 1990 ", "On Going "];
function getyear(val)
{
    return /'d{4}/.test(val) ? val.replace(/^[^'d]*('d{4}).*$/, '$1') : 'Now';
}
$.each( string, function(i,v) {
  $('.out').append( (i+1) + ':'t' + getyear( v ) + ''n');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre class="out"></pre>

也许你可以这样做:

function getyear(val){
    var split = val.split(" ");
    for (i = 0; i < split.length; i++){
        if(parseInt(split[i], 10)) return split[i];
    }
    return val;
}

这将返回找到的第一个int,如果找不到,则返回传递的值。这样,无论字符串中的哪个位置,当没有年份时,它都会返回"继续"。你也可以通过"我想要的年份是2010年",它应该会回到2010年。

var string = "hello 2014";
var l = string.substr(string.length - 4);
if(l.charAt(l.length - 4) == '1' ||l.charAt(l.length - 4) == '2')
  alert(l.slice(-4));
else
  alert("Now");
  

这应该可以工作。使用reg exp

function myFunction( val) {
     // val = "year 2014";
    var patt1 = /[0-9]{4}/g;
    
   if ( str.match(patt1) )
        return ( str.match(patt1) );
   else
        return val;
    
}

您可以使用:

string1 = "Feb 2010 "
string2 = "On Going"
string3 = "may 1990 "
string4 = "jun 1990 "
string5 = "On Going "
function getyear(val) {
    var newVal = "Now";
    return val == "On Going" ? newVal : val.substr(val.indexOf(' ') + 1);
}
console.log(getyear(string1)); //gives 2010
console.log(getyear(string2)); //gives Now

请注意,如果没有空格,将返回完整字符串

我建议:

function getYear (str) {
    var year = (/'b'd{4}'b/).exec(str);
  return year === null ? 'Now' : year[0];
}

function getYear (str) {
    var year = (/'b'd{4}'b/).exec(str);
  return year === null ? 'Now' : year[0];
}
var specimins = ["Feb 2010 ","On Going","may 1990 ", "jun 1990 ","On Going "];
specimins.forEach(function (string, index) {
  console.log(index + ': ' + getYear(string));
});

参考文献:

  • CCD_ 1
  • JavaScript Conditional('Ternary')运算符
  • JavaScript正则表达式("RegExp")
  • CCD_ 2