我有一张在线贷款申请表。在贷款期间,我需要确保用户在输入月份时输入“月”或“月”。例如。 36个月。
我为此创建了一个正则表达式(.[Mm]onths?
- 我第一次尝试创建一个正则表达式),但我觉得用户必须回到该字段并输入单词才会相当烦人“月”。
在编辑字段/表单提交后,是否可以将“月”字预先插入字段或插入?我已经有占位符文本(“EX:36 Months”),但在选择输入字段时它会消失。我需要将文本“months”作为正在输入的实际文本的一部分。
我已在网上快速搜索,我知道某处有答案,但我似乎无法找到正确的搜索字词,因为我还没有找到解决方案。
有关此事的任何建议吗?如果我不能以任何方式将文本“月”包含在输入中,我将不得不使用正则表达式。
答案 0 :(得分:2)
如果您在服务器端验证中打开此功能,请使用如下表单:
<input type="number" name="months" /> months
以后,在服务器代码中;你会做(假设是PHP):
$mon = $_REQUEST['months'] . " months";
答案 1 :(得分:0)
要防止36 Months months
如果用户发现输入错误的方式或者使用不支持type="number"
的旧版浏览器,则应考虑扩展PHP。通过类型转换来说只获得第一个整数并在其前面加上“月”
$months = (int) $_REQUEST["months"] . " months";
//Input '36 Months'. Output '36 months'
//Input 'Months36'. Output '0 months'
或者删除每个不构成数字的字符并在其前加上“月”
$months = preg_replace('/[^0-9.]/', '', $_REQUEST["months"]) . " months";
//Input '36 Months'. Output '36 months'
//Input 'Months36'. Output '36 months'
//Input 'Man3Bad6'. Output '36 months'
//Input 'Gone3g6F.ullstop5'. Output '36.5 months'