javascript - 从用户输入更改字符串
问题描述
因为我不太确定你会怎么称呼它,所以在弄清楚这一点时遇到了一些麻烦。
我正在尝试接受用户输入并交换它,例如:
1 个日期输入:DD MM YYYY,我希望他们这样输入,然后将其更改为 YYYYDDMM 服务器端,然后再将其发送到需要去的地方。
我试过查看正则表达式和 str 替换,但它似乎没有选项可以拉出用户字符串的末尾并将其放在不同的位置。任何见解都将不胜感激,我可以在哪里找到更多帮助或前进的方向。
解决方案
如果您捕获组中日期字符串的每个部分,则可以使用正则表达式执行此操作,然后以不同的顺序回显这些组,不带空格:
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);
}
推荐阅读
- java - Hazelcast - java.lang.IllegalArgumentException:键不能是数据类型
- github - 具有自己扩展的自定义 GitHub 选项卡
- php - 尝试从 PHP 中编译应用程序
- jenkins - 使用日期对象时Jenkins管道异常?
- android - 将 recyclerView 的 imageView 单元格设置为特定的宽度和长度
- c - 创建一个 128 字节的随机数
- r - If else语句检查字符串是否包含R中的子字符串
- javascript - 删除作为函数参数传递的对象属性
- laravel-5 - 雄辩的查询,基于与关系的关系进行查询
- powerapps - 关闭应用程序后未清除 PowerApps 集合