Javascript 在字符串末尾使用通配符
我试图找到一种在if语句中使用通配符的方法。所以我有这样的值:2012年7月22日(日期),然后我希望它做:Javascript 在字符串末尾使用通配符,javascript,jquery,Javascript,Jquery,我试图找到一种在if语句中使用通配符的方法。所以我有这样的值:2012年7月22日(日期),然后我希望它做: if (date = "07/" *) { alert("test"); }; 它也必须只使用07之后的通配符,中间可以使用:06 / 07 / 2012 < /P> 任何建议,谢谢西蒙。如果有人知道更简单的方法,我也可以使用jquery。您可以使用该函数检查字符串的特定部分: if (date.substring(0, 3) === "07/") { alert("test"); }
if (date = "07/" *) { alert("test"); };
它也必须只使用07之后的通配符,中间可以使用:06 / 07 / 2012 < /P> 任何建议,谢谢西蒙。如果有人知道更简单的方法,我也可以使用jquery。
您可以使用该函数检查字符串的特定部分:if (date.substring(0, 3) === "07/") { alert("test"); };
也就是说,我同意您的用例可能存在更大的问题。如果您试图验证日期,您确实应该使用日期函数,而不是尝试验证字符串。使用/: 检查字符串是否以该序列开头。在非常现代的JS引擎中,您还可以使用
date.startsWith(“07/”)
(也可以在需要时使用)
对于更复杂的匹配,可能需要使用正则表达式。“beginswith”看起来像这样:
/^07\//.test(date)
如果需要将字符串与特定模式匹配,则应使用 如果要测试字符串是否以某个子字符串开头,可以使用RegExp,例如:
/^07\//
在开头和结尾分隔正则表达式文本/
匹配字符串的开头,它阻止模式在日期内匹配,例如^
'06/07/08'
匹配字符串07
'07'
匹配一个\/
字符,/
字符被用作转义符,这样正则表达式就不会关闭,类似于字符串中的引号需要用\
转义的方式(e.x.\
)“\”“
if
语句的方法是使用test
方法:
if (/^07\//.test(yourDate)) {
...do stuff...
}
这是模式匹配字符串的独角兽和彩虹,但是如果你经常使用日期,你应该将日期解析成一个
date
对象,并通过一个对象来管理它,而不是试图执行复杂的模式匹配。如果你试图操纵日期,我可以建议你使用类似于
例如,要检查日期的月份是否为7月,请执行以下操作:
// month starts at 0 so July => 6
var month = 6;
var d = moment("07/22/2012", "MM-DD-YYYY");
if( d.month() === month ) alert("test");
示例您真的应该解释您的用例。字符串通配符可以使用regexp函数实现,但是使用DateTime函数比较日期要好得多。有几种方法可以使用。regexp、转换为日期和检查日期、拆分字符串以仅比较前两位数字等.jQuery没有任何工具对此有所帮助。因此,您正在尝试搜索字符串开头的值“07/”?对于日期,请将其作为日期进行比较。为什么要使用字符串?
// month starts at 0 so July => 6
var month = 6;
var d = moment("07/22/2012", "MM-DD-YYYY");
if( d.month() === month ) alert("test");