Php Yii2屏蔽输入负数

Php Yii2屏蔽输入负数,php,regex,yii2,input-mask,jquery-inputmask,Php,Regex,Yii2,Input Mask,Jquery Inputmask,我对Yii 2 MaskedInput有问题。我需要有适合年份范围的口罩,例如1995-2008年。我的问题是如何将日期范围添加到负数,例如-32-2015。。。。请帮助使用regexp 其中: 减号是可选的 最小数量为1,最大数量为4,例如-10-2015 年与年之间是短跑 在一个简单的测试中,将字符串解析(转换)为一个数字并检查数值不是更好吗?我不明白。请添加一些被认为有效的数字示例和无效数字示例。与问题无关,但很抱歉我的编辑过多。这段文字造成了一种我不知道如何处理的降价歧义。我必须研究

我对Yii 2 MaskedInput有问题。我需要有适合年份范围的口罩,例如1995-2008年。我的问题是如何将日期范围添加到负数,例如-32-2015。。。。请帮助使用regexp

其中:

  • 减号是可选的
  • 最小数量为1,最大数量为4,例如-10-2015
  • 年与年之间是短跑

在一个简单的测试中,将字符串解析(转换)为一个数字并检查数值不是更好吗?我不明白。请添加一些被认为有效的数字示例和无效数字示例。与问题无关,但很抱歉我的编辑过多。这段文字造成了一种我不知道如何处理的降价歧义。我必须研究如何在列表后找到正确的格式化代码的方法。@AdrianHHH我需要2000-2010年的基本年份范围,但我必须在负年份中找到今年的范围。在-xxxx年到xxxx年之间,例如-2400年到2015年。@Thomas请回答问题,以显示几组有效数字和多组无效数字。你最后一条评论中的话并没有向我解释你想要什么。只是将字符串解析(转换)成一个数字,然后在一个简单的测试中检查数值,不是更好吗?我不明白。请添加一些被认为有效的数字示例和无效数字示例。与问题无关,但很抱歉我的编辑过多。这段文字造成了一种我不知道如何处理的降价歧义。我必须研究如何在列表后找到正确的格式化代码的方法。@AdrianHHH我需要2000-2010年的基本年份范围,但我必须在负年份中找到今年的范围。在-xxxx年到xxxx年之间,例如-2400年到2015年。@Thomas请回答问题,以显示几组有效数字和多组无效数字。你最后一句话没有向我解释你想要什么。
[
    'class' => 'yii\grid\DataColumn',
    'attribute' => 'DATE_RANGE',
    'format' => 'html',
    'filter' => \yii\widgets\MaskedInput::widget([
        'name' => 'FindingAidSearch[DATE_RANGE]',
        'mask' => '9999-9999',
        'value' => $searchModel->DATE_RANGE,
        'options' => [
            'placeholder' => 'e.g. 1980-2000',
            'class' => 'form-control',
        ]
    ]),
    'value' => function($model){
        return Html::encode($model->DATE_RANGE);
    }
],