扫一扫
分享文章到微信

扫一扫
关注官方公众号
至顶头条
讨论一个正则表达式的写法
验证输入的数字整数部分是1位到4位, 
可以有负号,有小数点则最多有四位小数。 
即对应数据库中的 
SQL code
deciaml(8,4)
类型的字段。这个正则表达式怎么写?
[-]{0,1}[1-9][0-9]{1,3}([.][0-9]{1,4}){0,1}
\d{1,5}+ 
首先是{1,5}表示的是重复1到5次,比你的需求范围要大 
然后是这里“+”号的运用,因为“+”等价于“{1,}”同样是量词,你的这个子表达式也就相当于 
\d{1,5}{1,} 
也就是 
(\d{1,5}){1,} 
这就表示只要整数部分是1位以上的数字就可以了 
综合起来,当然就不符合你的要求了 
再次整体看了一下我的验证程序。 
因为对正则表达式不熟悉,我之前本来想用字符串方法来验证的。单发现比较复杂,难以验证全面。 
后来改用正则表达式了,但之前的字符串方法的验证程序又没删掉,所以影响了正则表达式的逻辑判断。 
PS:共享一个,将Button(服务器控件)关联上回车键的方法: 
function document.onkeydown() { //使用document.getElementById获取到按钮对象 var button = document.getElementById('btmPay'); if(event.keyCode == 13) { button.click(); event.returnValue = false; } }
    其中btmPay是Button的ID。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。