我正在使用text-mask angular2指令和ionic2.I有一个月JS正则表达式,如bthib@bthib-cyberstorm ~ $ cd pythonpractice
bthib@bthib-cyberstorm ~/pythonpractice $ python ./binary_to_string.py > binary1.txt
/usr/bin/python: can't find '__main__' module in './binary_to_string.py'
。它工作正常。但是现在我需要将它应用于上面的指令。我有尝试如下。但它不起作用。你能告诉我为什么吗?
/^(0[1-9]|1[0-2])$/
答案 0 :(得分:2)
数组中的每个元素都限制用户可以输入的char。看起来他们不是上下文。 [/0[1-9]/, /1[0-2]/]
表示第一个符号可以包含0
和来自1
到9
的数字,第二个符号应该以{{1}}开头,然后跟随{ {1}},1
或0
- 总是错误的。
您可以使用近似掩码,如
1
如果输入2
或this.mask = [/[01]/, /\d/];
,则第一个占位符有效,第二个占位符对任何数字都有效。
为了确保输入月份值,我建议为提交验证添加0
。
答案 1 :(得分:0)
mask数组中的每个元素都限制用户可以输入的字符。例如,mark = [/[1-9]/, /\d/]
表示用户只能在第一个占位符中输入1到9之间的数字,之后只能在占位符中输入一个数字。
在您的情况下,标记(/0[1-9]/, /1[0-2]/)
的每个元素都为整个输入字符串定义了一个有效模式,而不是每个字符。这就是为什么它没有用。
根据text-mask angular2 document,您还可以传递一个函数作为掩码。你应该尝试这样的事情
this.mask = function(rawValue) {
// add logic to generate your mask array
if (rawValue && rawValue.length > 0) {
if (rawValue[0] == '0') {
return [/[01]/, /[1-9]/];
} else {
return [/[01]/, /[0-2]/];
}
}
return [/[01]/, /[0-9]/];
}