我正在尝试找到一种在 if 语句中使用通配符的方法。所以我有这样的值:07/22/2012(日期)然后我希望它这样做:
if (date = "07/" *) { alert("test"); };
它还必须只在 07 之后使用通配符,因为它可以在中间使用:06/07/2012
任何建议,谢谢西蒙。如果有人知道更简单的方法,我也可以使用 jquery。
我正在尝试找到一种在 if 语句中使用通配符的方法。所以我有这样的值:07/22/2012(日期)然后我希望它这样做:
if (date = "07/" *) { alert("test"); };
它还必须只在 07 之后使用通配符,因为它可以在中间使用:06/07/2012
任何建议,谢谢西蒙。如果有人知道更简单的方法,我也可以使用 jquery。
您可以使用该substring
函数来检查字符串的特定部分:
if (date.substring(0, 3) === "07/") { alert("test"); };
也就是说,我同意您的用例可能存在更大的问题。如果您正在尝试验证日期,您真的应该使用日期函数而不是尝试验证字符串。
如果您需要将字符串与特定模式匹配,则应使用正则表达式。
如果要测试字符串是否以某个子字符串开头,则可以使用 RegExp,例如:
/^07\//
/
在开头和结尾分隔正则表达式文字^
匹配字符串的开头,它会阻止模式在日期内匹配,例如'06/07/08'
07
匹配字符串'07'
\/
匹配一个/
字符,该\
字符用作转义符,这样正则表达式就不会关闭,类似于字符串中的引号需要用\
(ex "\""
) 转义。检查if
语句的方法是使用以下test
方法:
if (/^07\//.test(yourDate)) {
...do stuff...
}
这是模式匹配字符串的所有独角兽和彩虹,但是如果您经常使用日期,则应该将日期解析为Date
对象并通过对象进行管理,而不是尝试执行复杂的模式匹配。