jQuery MiniUI

 找回密码
 立即注册
查看: 7003|回复: 8
打印 上一主题 下一主题

问个JS相关问题,不知道是不是跟miniui有关 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2012-6-13 14:12:08 |只看该作者 |倒序浏览

自定义规则函数
        function isFloat(v) {
            var re = new RegExp("^([+-])?\\d+(\.\\d+)?$");
            if (re.test(v)) return true;
            return false;
        }

注意条件部分如果我用\d则无论怎么输入都不通过
甚至用 ^\d$, 我输入数字都不可以
必须用 ^\\d$
我在网上查了一下,JS里貌似也是\d就可以啊
为什么这里不认呢

Rank: 9Rank: 9Rank: 9

沙发
发表于 2012-6-13 16:23:04 |只看该作者
function isFloat(v) {
    var v2 = parseFloat(v);
    if (isNaN(v2)) return false;
    return typeof v2 == 'number' && String(v) == String(v2);
}

可以用这个试试

Rank: 9Rank: 9Rank: 9

板凳
发表于 2012-6-13 16:23:43 |只看该作者
另外,你测试正则的时候,可以写纯JS来验证。
不需要miniui控件。

这样把问题分离清楚。

Rank: 2

地板
发表于 2012-6-13 16:41:00 |只看该作者
谢啦,因为对js函数不太了解
刚才验证了一下
纯js没问题
代码如下
<script language="javascript" type="text/javascript">
function testregex(){
var str="123.202";
var reg =/^([+-])?\d+(\.\d+)?$/;
if (reg.test(str))
{
   alert ("通过验证!")
  }
  else
   {
    alert("验证失败!");
    }
}
testregex();
</script>

Rank: 8Rank: 8

5#
发表于 2012-6-14 15:33:20 |只看该作者
我们的验证规则,默认页支持flaot:
http://miniui.com/demo/#src=form/rules.html
请仔细查看示例。比如:
<input class="mini-textbox" vtype="float" />

Rank: 2

6#
发表于 2012-6-15 09:32:14 |只看该作者
关键是很多稍复杂的规则实现不了
比如身份证验证"^\d{15}$)|(^\d{17}([0-9]|x)\s$"
输入x肯定报错,如果用\x则整个页面全部出错

Rank: 9Rank: 9Rank: 9

7#
发表于 2012-6-15 10:02:22 |只看该作者
这个是正则写法的问题,是JS的问题了。

Rank: 2

8#
发表于 2012-6-15 10:25:42 |只看该作者
niko 发表于 2012-6-15 10:02
这个是正则写法的问题,是JS的问题了。

呵呵,肯定不是那么简单

<script language="javascript" type="text/javascript">

function testregex(){

var str="11112222333344444x";

var reg =/(^\d{15}$)|(^\d{17}([0-9]|x)$)/;

if (reg.test(str))

{

   alert ("success");

  }

  else

   {

    alert("failed");

    }

}

testregex();

</script>

顺利通过

但是用miniui规则自定义的就不行
跟miniui的字符过滤有关系

Rank: 2

9#
发表于 2012-6-15 10:40:13 |只看该作者
        function isID(v) {
            var re = /(^\d{15}$)|(^\d{17}([0-9]|x)$)/;
            if (re.test(v)) return true;
            return false;
        }
这样写也不行呢

Archiver|普加软件

GMT+8, 2024-11-25 22:35 , Processed in 1.024524 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部