Javascript 如何从输入创建正则表达式

Javascript 如何从输入创建正则表达式,javascript,jquery,Javascript,Jquery,嗨,我被任务缠住了。 我想根据发送给函数的字符串创建一个正则表达式。 如果我发送例如dd/mm/yyyy,我希望它创建(\d\d)[\/](\d\d)[\/](\d\d\d),如果yyyy/mm/dd我需要它,以便我以后可以使用它进行日期验证? 这可能吗? 我想这就是你想要做的?获取用户输入并与RegEx一起使用 可以使用.split()从字符串中获取数组,然后使用该数组。 如果以后需要的话,可以使用.reverse()和.join()。我花了两天时间考虑使用for循环追加、索引of,但都没有

嗨,我被任务缠住了。 我想根据发送给函数的字符串创建一个正则表达式。 如果我发送例如dd/mm/yyyy,我希望它创建
(\d\d)[\/](\d\d)[\/](\d\d\d)
,如果yyyy/mm/dd我需要它,以便我以后可以使用它进行日期验证? 这可能吗?

我想这就是你想要做的?获取用户输入并与RegEx一起使用

可以使用.split()从字符串中获取数组,然后使用该数组。
如果以后需要的话,可以使用.reverse()和.join()。

我花了两天时间考虑使用for循环追加、索引of,但都没有结果。正因为如此,我不知道这是否可行。我不需要解决方案,我需要提示。Javascript是一种图灵完整语言,所以一切皆有可能:^)最简单的(理解/开发)方法是循环遍历每个字符,如果是“/”添加
[\/]
部分,否则添加
\d
。用
[\/]
在开始/结束处添加括号
()
。下一步将使用
。替换
而不是循环来更改字符,例如:
x.replace(/m/g,\\d”)
。最不明显的一点是将括号
()
[\/]
同时添加,并将其直接添加到开头/结尾。问题不仅仅是拆分,因为输入可以是点、斜线或水平线。这就是我被困住的原因:)