我正在尝试自动格式化显示为"MM/DD/YYYY"
的日期,但只允许数字和正斜杠。
这是我到目前为止所做的一切,除了仅限于数字和斜线外,它还能完成我想要的一切:
$('#date').keydown(function (e) {
var key = e.charCode || e.keyCode || 0;
$date = $(this);
if (key !== 8) {
if ($date.val().length === 0) {
$date.val($date.val() + '');
}
if ($date.val().length === 2) {
$date.val($date.val() + '/');
}
if ($date.val().length === 5) {
$date.val($date.val() + '/');
}
}
});
我不想添加任何插件或掩码,我只是在寻找代码来做我需要的。
任何帮助都将不胜感激。
答案 0 :(得分:0)
查找ascii code正斜杠是 import socket
import sys
import getopt
import threading
import subprocess
buffer="lol"
client_sender(buffer.encrypt('utf-8'))
。
以下解决方案仅允许使用数字字符。
47
所以将48更改为47,它也允许正斜杠。
请注意使用$('#date').on('keypress', function (ev) {
var key = ev.keyCode || ev.which;
// this prevents other characters but numeric
if (key > 31 && (key < 48 || key > 57)) {
ev.preventDefault();
}
});
事件,以便在允许任何其他键的值输入之前捕获字符(字母,数字......)的事件。就像您可以通过按住ALT +数值来键入。
这就是为什么你抓住keypress
并且不允许事件在某个范围内发射ev.keyCode || ev.which
<强>进行追加强>
接下来要做的事情是将输入值验证为日期。 类似的东西:
key > 31 && (key < 47 || key > 57)