var t =/^\d+(\.\d)*$/
        var s = $("txtnum").value;
        alert(t.test(s));
要实现只输入数字的功能 有无小数均可
大家看看我这个错在哪里?
虽然正则语法看烂了 还是不会用啊
正则哪里体现出验证整数部分 哪里又体现验证小数部分?
请正则达人详细解释一手

解决方案 »

  1.   

    正则没什么问题啊.就是第一句代码后面少了;整数部分指\d+  ,其中\d表示数字,后面的+表示有1到无数个(\.\d)* 是小数部分,其中\.代表小数的点号\d代表小数点后面的数字  *代表小数点部分可有可无.唯一的问题是,你这个正则只限定了  小数只能是一位.如果有两位或更多位小数,就匹配不了.所以应该改为
    /^\d+(\.\d+)*$/
      

  2.   

    这个是js特有的,就像是c#里面的"
      

  3.   

    var t =/^\d+(\.\d)*$/
    ^字符串开始
    $字符串结束
    \d+(\.\d)*
    +是至少有一个
    *可以有0和或者更多
    你的小数点后面只能有一位,因为只有一个\d在\.后面,可改为\d+

    var t =/^\d+(\.\d+)*$/
      

  4.   


    只能输入数字:“^[0-9]*$”
    只能输入n位的数字:“^d{n}$”
    只能输入至少n位数字:“^d{n,}$”
    只能输入m-n位的数字:“^d{m,n}$”
    只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”
    只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”
    只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
    只能输入非零的正整数:“^+?[1-9][0-9]*$”
    只能输入非零的负整数:“^-[1-9][0-9]*$”
    只能输入长度为3的字符:“^.{3}$”
    只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
    只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
    只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
    只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
    只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
      

  5.   

    <input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
    <input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">
    js正则表达式。
    试试这个,- -
      

  6.   

    var t =/^\d+(\.\d)*$/
    那个 * 最起码也得是 ? 一次或0次,总不能是 1.2.2这也不是数字啊var t = /^\d+(\.\d)?$/g; 试试