一个文本框,前台加上了style="IME-MODE: disabled"
后台this.txt_regu.Attributes.Add("onkeypress","if(!/[0-9]/.test(String.fromCharCode(event.keyCode)))event.keyCode=0");这个是只允许输入数字的正则表达式,但是我现在想换成只允许输入特定的几个字符的正则表达式
特殊字符有:0123456789.*+-/%#()
这个正则表达式怎么改啊?正则一点也不会,惭愧啊!

解决方案 »

  1.   

    匹配双字节字符(包括汉字在内):[^\x00-\xff]匹配空行的正则表达式:\n[\s| ]*\r匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 匹配首尾空格的正则表达式:(^\s*)|(\s*$)匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
    ^\d+$  //匹配非负整数(正整数 + 0) 
    ^[0-9]*[1-9][0-9]*$  //匹配正整数 
    ^((-\d+)|(0+))$  //匹配非正整数(负整数 + 0) 
    ^-[0-9]*[1-9][0-9]*$  //匹配负整数 
    ^-?\d+$    //匹配整数 
    ^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0) 
    ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮点数 
    ^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮点数(负浮点数 + 0) 
    ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数 
    ^(-?\d+)(\.\d+)?$  //匹配浮点数 
    ^[A-Za-z]+$  //匹配由26个英文字母组成的字符串 
    ^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串 
    ^[a-z]+$  //匹配由26个英文字母的小写组成的字符串 
    ^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串 
    ^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串 
    ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址 
    ^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url 
    利用正则表达式限制网页表单里的文本框输入内容:用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
      

  2.   

    [\d\.\*\+\-\/\%\#\(\)]
      
    ---------------------------------------------
    EMail:[email protected] 请给我一个与您交流的机会!
      

  3.   

    function yz()
        {
            return((event.keyCode >= 48)&&(event.keyCode<=57)&&(event.keyCode==46));
           
        }
    用这个也行!~.上面只能输入0到9和小数点.
    你再常用 ASCII码表找到相对应的ASCII码就行啦!~ 
     然后调用一下子就行啦!~
    onKeyPress="event.returnValue=yz();
      

  4.   

    weizhuangzhi(壮志) :我还没编译呢,就出错了。
      

  5.   

    this.txt_regu.Attributes.Add("onkeyup",@"value=value.replace(/[^\d.*+-/%#()]/g,'');");
                this.txt_regu.Attributes.Add("onpaste", @"return 0;");
      

  6.   

    在[]里面的不用转义符号,'\'除外
    这样试试:
    [0-9.*+-/%#()]{0,}
    =========================
    () 是否还是要 转义啊~
    另外 lz这个  用鼠标 ctrl + c  ctrl + v 等其他方法 应该也验证吧
      

  7.   

    linekery() :
    对啊,ctrl + c  ctrl + v要怎么限制啊?
      

  8.   

    this.txt_regu.Attributes.Add("onpaste", @"return 0;");
    限制粘贴