我有一个文本框,用户将在textbox中输入年龄和性别。我想对年龄和性别进行验证。用户可以输入 47Yrs 1Mths 5Days / F 或 47Yrs 1Mths / M 或 47Yrs 2Days / F 或 5Days 或 45Yrs 。所以我想要一种正则表达式验证格式。< / p>
这是我的代码,但它无效
/^[0-9](?:[0-9]*)(?:Years|Days|Months|Year|Month|Day) (?:[0-9])(?:[0-9]*)([?:Mths]) (?:[0-9])(?:[0-9]*)([?:Days])\/(?:M|F)$/
答案 0 :(得分:0)
您可以使用
^(?:[0-9]+Y(?:ea)?rs(?: +|(?:\/[MF])?$))?(?:[0-9]+Mths(?: +|(?:\/[MF])?$))?(?:[0-9]+Days)?(?:\/[MF])?$
请参阅regex demo
<强>详情:
^ # Start of string
(?:[0-9]+Y(?:ea)?rs(?: +|(?:\/[MF])?$))? # Number+Years + optional spaces OR /M OR /F
(?:[0-9]+Mths(?: +|(?:\/[MF])?$))? # Number+Months + optional spaces OR /M OR /F
(?:[0-9]+Days)?(?:\/[MF])? # Number+Days and optional /M OR /F
$