将默认值添加到表单输入字段

时间:2015-10-30 08:21:15

标签: html regex validation html-form html-input

我有一张在线贷款申请表。在贷款期间,我需要确保用户在输入月份时输入“月”或“月”。例如。 36个月。

我为此创建了一个正则表达式(.[Mm]onths? - 我第一次尝试创建一个正则表达式),但我觉得用户必须回到该字段并输入单词才会相当烦人“月”。

在编辑字段/表单提交后,是否可以将“月”字预先插入字段或插入?我已经有占位符文本(“EX:36 Months”),但在选择输入字段时它会消失。我需要将文本“months”作为正在输入的实际文本的一部分。

我已在网上快速搜索,我知道某处有答案,但我似乎无法找到正确的搜索字词,因为我还没有找到解决方案。

有关此事的任何建议吗?如果我不能以任何方式将文本“月”包含在输入中,我将不得不使用正则表达式。

2 个答案:

答案 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'