Javascript:如何获取字符串中的前4个数字?

Javascript:如何获取字符串中的前4个数字?,javascript,string,extract,match,Javascript,String,Extract,Match,我想得到字符串“9862”中的前4个数字。如何获取此字符串中的第一个数字序列。并将其存储在另一个变量中 Javascript似乎无法识别这个变量。我不知道为什么。 如果我这样做: 我试图存储在'mystring'变量中的文本是否有问题?尝试以下操作: alert(mystring); //I don't get an alert pop up nor does it show any errors. mystring = "9862 ....... -pack size 1 - SST Uns

我想得到字符串“9862”中的前4个数字。如何获取此字符串中的第一个数字序列。并将其存储在另一个变量中

Javascript似乎无法识别这个变量。我不知道为什么。 如果我这样做:

我试图存储在'mystring'变量中的文本是否有问题?

尝试以下操作:

alert(mystring); //I don't get an alert pop up nor does it show any errors.
mystring = "9862 ....... -pack size 1 - SST Unspun Label (Roll) CAT#: 9862";

mystring = mystring.substring(0, 4);

alert(mystring.trim());

您可以使用to函数获取前4个字符

mystring = "9862 ....... -pack size 1 - SST Unspun Label (Roll) CAT#: 9862";
var str=mystring.substr(0,4);
alert(str);

这两种方法都可以很好地工作……试试看,您可以执行以下任一操作:

mystring = mystring.substring(0,4);

如果起始值为0(与您的情况类似),则两种方式相同

资料来源:


var extractInts=function(str){
r=[];

对于(var i=1,l=str.length;i,因为问题是查找任何字符串中的前4位数字,所以也可以使用正则表达式解决:
/\d{4}/
/[0-9]/
。请参阅

正则表达式解决方案更灵活,因为它允许在各种上下文中提取四位数字:

var extractInts = function(str) {
    r = [];
    for ( var i = 1, l = str.length; i <= l; ++i ) {
        if ( !isNaN(parseInt(str.substring(i-1, i),0))) {
            str = str.substring(i-1);
            r.push(parseInt(str, 0));
            str = str.substring( parseInt(str,0).toString().length);
            i = 1;
        }
    }
    return r;
};

var str = "Hi, here is an int 1, and another 3, and finally 37";
var i_array = extractInts(str);
console.log("extractInts: " + i_array[0]); //Prints 1
请参见下面的演示:

var mystring=“9862……-包装尺寸1-SST UNSun标签(卷)目录#:9862”;
console.log(mystring.match(//^\d{4}/)[0]);//字符串开头的前4位数字
console.log(“Year:2018”.match(//\d{4}/)[0]);//字符串中任意位置的前4位数字

console.log(“Year:2012.match(/Year.*(\d{4})/)[1]);//年后的前4位
yeah从mystring.match(/^[0-9]+/)开始使用正则表达式获取数字,你确定数字的位置不会改变吗?谢谢,但如果只有3个数字。我说9862很常见,但有时我会得到例如“956”一个3位数的数字,子字符串会占用数字后剩余的空间。我如何只得到数字?比如mystring.subinteger只获得数字,而不包括as后的任何空格使用substring方法?
mystring=mystring.trim()
将删除字符串周围的空格
mystring = mystring.substring(0,4);
mystring=mystring.substring(from,to);
mystring=mystring.substr(start,length);
var extractInts = function(str) {
    r = [];
    for ( var i = 1, l = str.length; i <= l; ++i ) {
        if ( !isNaN(parseInt(str.substring(i-1, i),0))) {
            str = str.substring(i-1);
            r.push(parseInt(str, 0));
            str = str.substring( parseInt(str,0).toString().length);
            i = 1;
        }
    }
    return r;
};

var str = "Hi, here is an int 1, and another 3, and finally 37";
var i_array = extractInts(str);
console.log("extractInts: " + i_array[0]); //Prints 1
/^\d{4}/ // To match any first 4 digits at the start of a string
/\d{4}/ // To match any first 4 digits anywhere inside a string
/word.*?(\d{4})/ // To match and capture any first 4 digits after a specific `word`