我想在Javascript中创建类似日期输入掩码的不同输入掩码。 什么是创建面具的最佳方式。 (没有任何框架!)
由于
答案 0 :(得分:1)
将事件侦听器附加到输入的onKeyDown处理程序。像这样:
function numericOnly( e )
{
if( !e ) e = event;
var kc = e.which || e.keyCode;
var shift = e.shiftKey;
// Numeric and decimal point only
return( kc == 8 || kc == 9 || kc == 46 || // Backspace, tab, delete
kc == 37 || kc == 39 || // Left and right arrow keys
kc == 110 || kc == 190 || // Decimal point (keyboard and num pad)
( kc >= 48 && kc <= 57 && !shift ) || // Digits above letter (no shift)
( kc >= 96 && kc <= 105 ) ); // Digits on num pad
}
对于日期验证,您还应包含/字符。然后我会在输入上的onBlur事件上附加一个事件处理程序。使用偶数处理程序对正则表达式运行输入以确保输入正确的日期。
<input onkeydown="JavaScript: numericOnly( e );"
onblur="JavaScript: checkDate( this.value );">