Angular 13 Typescript RegExp 日期格式 dd/mm/yyyy
Angular 13 Typescript RegExp Date format dd/mm/yyyy
我在 Angular 13 项目中工作 我想创建一个指令以允许用户仅键入数字和 '/' 用于我的日期输入。 dd/mm/yyyy。
这是我的 Regx :
if (!String(myVal).match(new RegExp(/^\d+$/))) {
event.preventDefault();
}
这种情况有效,但我只能输入数字,不能输入/来格式化我的日期。
修改我的 Regx 的任何建议。
此致
您只能使用正则表达式键入数字,因为 ^\d+$
只允许输入数字。如果您正在寻找 RegEx 来验证最终日期,它看起来像这样:
"01/06/2022".match(/^\d{2}\/\d{2}\/\d{4}$/)
解释:
^
匹配字符串的开头
\d{2}
正好匹配两位数字
\d{4}
正好匹配四位数字
\/
是一个转义正斜杠(/
),你需要转义它
$
匹配字符串结尾
- 您不需要显式实例化
new RegExp
,因为当您在两个 /
. 之间定义正则表达式时,它会自动完成
如果您正在寻找只允许输入日期中使用的字符的正则表达式,它看起来像这样:
"01/06".match(/^[\d\/]+$/)
将其理解为“只有在 [
和 ]
之间至少有一个字符(这就是 +
在这里的意思)才匹配,即:数字 (\d
) 或 /
".
当然,除了 Regex(Regex 允许像 99/99/9999
这样的日期)之外,还有其他方法可以在完全键入日期后验证日期。
我在 Angular 13 项目中工作 我想创建一个指令以允许用户仅键入数字和 '/' 用于我的日期输入。 dd/mm/yyyy。 这是我的 Regx :
if (!String(myVal).match(new RegExp(/^\d+$/))) {
event.preventDefault();
}
这种情况有效,但我只能输入数字,不能输入/来格式化我的日期。 修改我的 Regx 的任何建议。
此致
您只能使用正则表达式键入数字,因为 ^\d+$
只允许输入数字。如果您正在寻找 RegEx 来验证最终日期,它看起来像这样:
"01/06/2022".match(/^\d{2}\/\d{2}\/\d{4}$/)
解释:
^
匹配字符串的开头\d{2}
正好匹配两位数字\d{4}
正好匹配四位数字\/
是一个转义正斜杠(/
),你需要转义它$
匹配字符串结尾- 您不需要显式实例化
new RegExp
,因为当您在两个/
. 之间定义正则表达式时,它会自动完成
如果您正在寻找只允许输入日期中使用的字符的正则表达式,它看起来像这样:
"01/06".match(/^[\d\/]+$/)
将其理解为“只有在 [
和 ]
之间至少有一个字符(这就是 +
在这里的意思)才匹配,即:数字 (\d
) 或 /
".
当然,除了 Regex(Regex 允许像 99/99/9999
这样的日期)之外,还有其他方法可以在完全键入日期后验证日期。