从用户输入更改字符串

时间:2018-09-07 00:58:26

标签: javascript php html html5

在弄清楚这一点时遇到了一些麻烦,因为我不太确定你会怎么称呼它。

我正尝试接受用户输入并四处交换,例如:

1个输入日期:DD MM YYYY,我希望他们以这种方式输入,然后将其更改为YYYYDDMM服务器端,然后再将其发送到需要的地方。

我尝试查看正则表达式和str替换,但似乎没有选择拉用户字符串的末尾并将其放置在其他位置。如果能从中找到更多帮助或前进方向,请多加理解。

1 个答案:

答案 0 :(得分:1)

如果您捕获组中日期字符串的每个部分,然后以不同的顺序回显各组,且不带空格,那么您可以使用正则表达式来做到这一点:

const reformatDate = dateStr => dateStr.replace(/^(\d{2}) (\d{2}) (\d{4})$/, '$3$1$2');
console.log(reformatDate('05 12 2000'));
console.log(reformatDate('10 31 2010'));
console.log(reformatDate('01 01 2018'));

使用Javascript的.replace$后跟传递给.replace函数的第二个参数中的数字,将$#替换为正则表达式中的已捕获组。例如,$3被第三个(...)匹配的内容替换。

PHP可以使用相同的替换语法:

function reformatDate($dateStr) {
  return preg_replace('/^(\d{2}) (\d{2}) (\d{4})$/', '$3$1$2', $dateStr);
}