Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在字符串末尾使用通配符_Javascript_Jquery - Fatal编程技术网

Javascript 在字符串末尾使用通配符

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语句中使用通配符的方法。所以我有这样的值:2012年7月22日(日期),然后我希望它做:

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");