替换字符串并使用coffeeScript保留替换字符串

时间:2012-04-01 15:36:08

标签: regex coffeescript

我有以下脚本删除字符串末尾的数字并记住

initValues: (input)->
    value = $(input).val()

    split =  input.selectionStart

    @sub1 = value.substring(0, split).replace /\d*$/, (match) =>
        @firstDigit = match
        ''

    @firstDigit 

想知道是否有办法将firstDigit保留在initValue函数的范围内,如下所示:

initValues: (input)->
    value = $(input).val()

    split =  input.selectionStart

    @sub1 = value.substring(0, split).replace /\d*$/, (match) ->
        firstDigit = match
        ''

    firstDigit 

1 个答案:

答案 0 :(得分:2)

在回调函数之外声明它:

initValues: (input)->
    value      = $(input).val()
    split      = input.selectionStart
    firstDigit = null
    @sub1 = value.substring(0, split).replace /\d*$/, (match) ->
        firstDigit = match
        ''
    firstDigit

演示:http://jsfiddle.net/ambiguous/uRFNq/

您可能希望使用与firstDigit不同的名称,但由于firstDigit不一定包含字符串中的第一个数字,它将包含尾随数字。