我已经待了太久了。正斜线给我带来了麻烦。 如何将字符串与正斜杠或此格式的日期数匹配
12/1/1975
我正在使用javascript
并以这种简单的方式使用正则表达式:
let reg = /^\d+$/
reg.test("123")
谢谢!
答案 0 :(得分:1)
对于您使用的日期格式,
let reg = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
reg.test('12/1/1975');
您当然可以更复杂地检查这些值是否真的是合法的日期......
对于2或4位数的年份,请使用
let reg = /^\d{1,2}\/\d{1,2}\/\d\d(\d\d)?$/;
reg.test('12/1/75');
答案 1 :(得分:0)
您可以找到正则表达式here。
它还支持dd-mm-yyyy格式。 如果您只想使用正斜杠,那么您可以使用以下正则表达式
/^(0?[1-9]|[12][0-9]|3[01])[\/](0?[1-9]|1[012])[\/]\d{4}$/
答案 2 :(得分:0)
试试这个:
let regex = \d{2}\/\d{1,2}\/(?:\d{4}|\d{2});
\d{2}
表示两位数字,
\/
匹配正斜杠,
(?:\d{4}|\d{2})
是一个非捕获组,匹配年份的2或4位数。
非捕获组只是将\d{4}|\d{2}
组合在一起,但告诉系统不要将其作为一个组。
此外,如果您想避免用户为任何部分输入1个或多个0
s的可能性,只需将\d
替换为[1-9]
,这意味着来自1的任何数字到9。
答案 3 :(得分:0)
如果您只想接受1-12到1-31之间的月份,您可以尝试以下操作:
let reg = /^([1-9]|[12][0-9]|3[01])\/([1-9]|1[012])\/\d{2,4}$/;
console.log(reg.test("12/1/1975"));