Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文本框中带javascript onkeypress事件的点后两位数字_Javascript_Asp.net_Javascript Events - Fatal编程技术网

文本框中带javascript onkeypress事件的点后两位数字

文本框中带javascript onkeypress事件的点后两位数字,javascript,asp.net,javascript-events,Javascript,Asp.net,Javascript Events,我的页面上有一个文本框。 我有一个javascript,用户只需在文本框中写数字和点。 但不幸的是,这还不够。 用户必须受到限制,如果它放了一个点,那么它只能在后面写数字。 没有验证控件或ajax工具包,或者我必须在onkeypress事件上进行验证?在该输入的事件的onblur/onkeyup事件中:text只需检查输入的值是否与/\.\d{2}$/正则表达式您可以尝试这个regexp function dotdot(val){ var rx = /\.\./; return

我的页面上有一个文本框。 我有一个javascript,用户只需在文本框中写数字和点。 但不幸的是,这还不够。 用户必须受到限制,如果它放了一个点,那么它只能在后面写数字。
没有验证控件或ajax工具包,或者我必须在onkeypress事件上进行验证?

在该
输入的
事件的
onblur/onkeyup
事件中:text
只需检查输入的值是否与
/\.\d{2}$/
正则表达式

您可以尝试这个regexp

function dotdot(val){
    var rx = /\.\./;
    return rx.test(val);
}
这样可以确保用户不会一个点接一个点地键入

var textbox = document.getElementById("ele_id");
textbox.addEventListener('keyup',function(e){ 
  console.log(textbox.value.match(/^[0-9]*?\.[0-9]{2}$/)); 
}, false);

刚刚在firefox/firebug中测试过,您可以使用html中的“onkeyup”或jquery的bind()使事件处理程序在IE中工作

ajax与此有什么关系?您应该验证数据何时发送,而不是输入。可以在不发送按键事件的情况下输入文本,例如粘贴或删除。