Answers:
您需要将希望分割的字符放在一个字符类中,该类告诉正则表达式引擎“这些字符中的任何一个都是匹配项”。为了您的目的,这看起来像:
date.split(/[.,\/ -]/)
尽管破折号在字符类中作为范围说明符具有特殊含义(即[a-z]
,与含义相同[abcdefghijklmnopqrstuvwxyz]
),但是如果将其作为类中的最后一项放置,则它被视为表示文字破折号,不需要进行转义。
要说明您的模式为何无效的原因,请/-./
告诉正则表达式引擎匹配文字破折号后跟任意字符(点是正则表达式中的通配符)。对于“ 02-25-2010”,它将在每次遇到“ -2”时拆分,因为破折号匹配且点匹配“ 2”。
或仅用于日期字符串2015-05-20或2015.05.20
date.split(/\.|-/);