Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 用于负十进制值的正则表达式客户端和服务器端c#jquery_Javascript_Jquery - Fatal编程技术网

Javascript 用于负十进制值的正则表达式客户端和服务器端c#jquery

Javascript 用于负十进制值的正则表达式客户端和服务器端c#jquery,javascript,jquery,Javascript,Jquery,我有一个绑定到元素的按键功能,这个元素只需要允许正负十进制字符。i、 e.0-9,','-' 我需要防止输入字符的任何其他字符 在当前的按键功能中有什么方法可以实现这一点吗 $('.test').keyup(function (event) { //if character is NOT ok i.e. 0-9, '.' , '-' //STOP ..ELSE //continue to do something }); 另外,我正在使用jquery

我有一个绑定到元素的按键功能,这个元素只需要允许正负十进制字符。i、 e.0-9,','-'

我需要防止输入字符的任何其他字符

在当前的按键功能中有什么方法可以实现这一点吗

 $('.test').keyup(function (event) {

     //if character is NOT ok i.e. 0-9, '.' , '-'
     //STOP
     ..ELSE
    //continue to do something

});
另外,我正在使用jquery

希望这有助于:

var string = '-10.56',
    illegal = /[^0-9.-]/.test(string); // return true if illegal character found

键是在keydown上插入的,因此应该使用该事件。那么这应该是可行的:

$('.test').on('keyup', function(e){
  e.preventDefault();
  if(e.keyCode >= 48 && e.keyCode <= 57 // regular numbers
     || e.keyCode >= 96 && e.keyCode <= 106 // Numpad
     || e.keyCode === 189 // Minus
  ){
    try{
      parseInt($(this).val());
      // Continue, this is a valid numeric value.
    }catch(ex){
       // Stop
    }
  }else {
    // Stop
  }
});
$('.test')。在('keyup',函数(e)上{
e、 预防默认值();

如果(e.keyCode>=48&&e.keyCode=96&&e.keyCode,另一种方法是在键入时替换所有非法字符:

$("selector").keyup(function (e) {
        this.value = this.value.replace(/[^0-9\.-]/g, '');
    });
当用户不键入文本,而是粘贴文本时,可能很有用