Javascript 如何从输入创建正则表达式
嗨,我被任务缠住了。 我想根据发送给函数的字符串创建一个正则表达式。 如果我发送例如dd/mm/yyyy,我希望它创建Javascript 如何从输入创建正则表达式,javascript,jquery,Javascript,Jquery,嗨,我被任务缠住了。 我想根据发送给函数的字符串创建一个正则表达式。 如果我发送例如dd/mm/yyyy,我希望它创建(\d\d)[\/](\d\d)[\/](\d\d\d),如果yyyy/mm/dd我需要它,以便我以后可以使用它进行日期验证? 这可能吗? 我想这就是你想要做的?获取用户输入并与RegEx一起使用 可以使用.split()从字符串中获取数组,然后使用该数组。 如果以后需要的话,可以使用.reverse()和.join()。我花了两天时间考虑使用for循环追加、索引of,但都没有
(\d\d)[\/](\d\d)[\/](\d\d\d)
,如果yyyy/mm/dd我需要它,以便我以后可以使用它进行日期验证?
这可能吗?
我想这就是你想要做的?获取用户输入并与RegEx一起使用
可以使用.split()从字符串中获取数组,然后使用该数组。
如果以后需要的话,可以使用.reverse()和.join()。我花了两天时间考虑使用for循环追加、索引of,但都没有结果。正因为如此,我不知道这是否可行。我不需要解决方案,我需要提示。Javascript是一种图灵完整语言,所以一切皆有可能:^)最简单的(理解/开发)方法是循环遍历每个字符,如果是“/”添加
[\/]
部分,否则添加\d
。用[\/]
在开始/结束处添加括号()
。下一步将使用。替换而不是循环来更改字符,例如:x.replace(/m/g,\\d”)
。最不明显的一点是将括号()
与[\/]
同时添加,并将其直接添加到开头/结尾。问题不仅仅是拆分,因为输入可以是点、斜线或水平线。这就是我被困住的原因:)