如何在javascript中将一个变量拆分为多个变量?

如何在javascript中将一个变量拆分为多个变量?,javascript,Javascript,对不起,我是Javascript新手,需要帮助。我的问题是这样的。我有一个这样的变量,即: abcdefg1234567hijklmnop 该变量由3部分组成:字符串、数字、字符串。问题是我不知道如何将它们分割成: var1=abcdefg var2=1234567 var3=hijklmnop 因此,我可以使用ajax post将它们发送到另一个php文件。有没有办法让它发生?谢谢。使用regEXP var str = "abcdefg1234567hijklmnop",

对不起,我是Javascript新手,需要帮助。我的问题是这样的。我有一个这样的变量,即:

abcdefg1234567hijklmnop
该变量由3部分组成:字符串、数字、字符串。问题是我不知道如何将它们分割成:

var1=abcdefg
var2=1234567
var3=hijklmnop
因此,我可以使用ajax post将它们发送到另一个php文件。有没有办法让它发生?谢谢。

使用regEXP

var str = "abcdefg1234567hijklmnop",            
    result = /^([a-zA-Z]+)(\d+)([a-zA-Z]+)$/.exec(str);

console.log(result[0]); // abcdefg1234567hijklmnop
console.log(result[1]); // abcdefg
console.log(result[2]); // 1234567
console.log(result[3]); // hijklmnop
-创建、理解和测试regExp的好地方

HIW:

  • /^$/
    -
    /
    -正则表达式文本的分隔符
    ^
    -BEGINNING字符串,
    $
    -end
  • ([a-zA-Z]+)
    -捕获组1<代码>+传递到任何
    [a-zA-Z]
    字符一次或多次<代码>[a-zA-Z]:匹配从
    a
    Z
    a
    Z
    的字符,从而匹配所有字母表
  • (\d+)
    -捕获组2<代码>\d-匹配单个数字,
    +
    匹配前面的一个或多个字符<代码>\d=[0-9]
  • ([a-zA-Z]+)
    -捕获组3;与2相同
  • 您可以在此处阅读有关regExp的更多信息:

    要学习regex,请使用regEXP

    var str = "abcdefg1234567hijklmnop",            
        result = /^([a-zA-Z]+)(\d+)([a-zA-Z]+)$/.exec(str);
    
    console.log(result[0]); // abcdefg1234567hijklmnop
    console.log(result[1]); // abcdefg
    console.log(result[2]); // 1234567
    console.log(result[3]); // hijklmnop
    
    -创建、理解和测试regExp的好地方

    HIW:

  • /^$/
    -
    /
    -正则表达式文本的分隔符
    ^
    -BEGINNING字符串,
    $
    -end
  • ([a-zA-Z]+)
    -捕获组1<代码>+传递到任何
    [a-zA-Z]
    字符一次或多次<代码>[a-zA-Z]:匹配从
    a
    Z
    a
    Z
    的字符,从而匹配所有字母表
  • (\d+)
    -捕获组2<代码>\d-匹配单个数字,
    +
    匹配前面的一个或多个字符<代码>\d=[0-9]
  • ([a-zA-Z]+)
    -捕获组3;与2相同
  • 您可以在此处阅读有关regExp的更多信息:

    要学习正则表达式,请使用一行代码

    /(\D+)(\d+)(\D+)/.exec('abcdefg1234567hijklmnop').slice(1).forEach(function(v, n) { window['var'+(n+1)] = v; });
    

    如果需要,用另一个对象替换
    窗口
    ,以创建varn

    /(\D+)(\d+)(\D+)/.exec('abcdefg1234567hijklmnop').slice(1).forEach(function(v, n) { window['var'+(n+1)] = v; });
    



    用另一个要创建varn的对象替换
    窗口
    ,如果需要

    请在提问时显示您的努力。仅仅说我是新手,请帮助是不够的。使用regex很容易。你可以使用我已经找到的regexI,但不适合我的情况。
    我已经找到,但不适合我的情况
    -或者你使用了错误的oneregex?好的,我先学。提问时请展示你们的努力。仅仅说我是新手,请帮助是不够的。使用regex很容易。你可以使用我已经找到的regexI,但不适合我的情况。
    我已经找到,但不适合我的情况
    -或者你使用了错误的oneregex?好的,我先学习。您也可以使用
    [a-z]+
    而不是
    \D+
    ,因为它更具体,如果需要,可以使用
    I
    标志。
    字符串、数字、字符串
    。。。[a-z]+将是我的一个假设这将创建
    var1
    var2
    var3
    ,就像您在问题中所要求的那样:pi向您的第二个代码@JaromandaX发出警报(res),但结果是undefined@Junaserbaserbi使用
    警报(var1)
    警报(var2)
    警报(var3)。哦,不要使用
    alert
    使用
    console.log
    进行调试。您也可以使用
    [a-z]+
    而不是
    \D+
    ,因为它更具体,如果需要,可以使用
    i
    标志。
    字符串、数字、字符串
    。。。[a-z]+将是我的一个假设这将创建
    var1
    var2
    var3
    ,就像您在问题中所要求的那样:pi向您的第二个代码@JaromandaX发出警报(res),但结果是undefined@Junaserbaserbi使用
    警报(var1)
    警报(var2)
    警报(var3)。哦,不要使用
    alert
    使用
    console.log
    进行调试。@Junaserbaserbi没问题^我不知道@Tushar,它对我来说似乎也很复杂,我试过,只是为我工作,请不要生气,我真的不太懂javascript。如果我知道并从谷歌那里得到一份合适的工作,我不会问,真的。我只是需要帮助。我不知道regex是什么@Tushar,我现在就知道了。哇,你的解释很好@Andrew,我现在正在向你学习。哇,我现在更清楚地看到regex叫什么了。非常感谢@Andrew@Junaserbaserbi没问题^我不知道@Tushar,我也觉得很复杂,我试过了,只是为我工作,请不要生气,我真的不太懂javascript。如果我知道并从谷歌那里得到一份合适的工作,我不会问,真的。我只是需要帮助。我不知道regex是什么@Tushar,我现在就知道了。哇,你的解释很好@Andrew,我现在正在向你学习。哇,我现在更清楚地看到regex叫什么了。非常感谢@Andrew。