jQuery MiniUI
标题:
问个JS相关问题,不知道是不是跟miniui有关
[打印本页]
作者:
carboncocoa
时间:
2012-6-13 14:12:08
标题:
问个JS相关问题,不知道是不是跟miniui有关
自定义规则函数
function isFloat(v) {
var re = new RegExp("^([+-])?\\d+(\.\\d+)?$");
if (re.test(v)) return true;
return false;
}
注意条件部分如果我用\d则无论怎么输入都不通过
甚至用 ^\d$, 我输入数字都不可以
必须用 ^\\d$
我在网上查了一下,JS里貌似也是\d就可以啊
为什么这里不认呢
作者:
niko
时间:
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);
}
可以用这个试试
作者:
niko
时间:
2012-6-13 16:23:43
另外,你测试正则的时候,可以写纯JS来验证。
不需要miniui控件。
这样把问题分离清楚。
作者:
carboncocoa
时间:
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>
作者:
factory
时间:
2012-6-14 15:33:20
我们的验证规则,默认页支持flaot:
http://miniui.com/demo/#src=form/rules.html
请仔细查看示例。比如:
<input class="mini-textbox"
vtype="float"
/>
作者:
carboncocoa
时间:
2012-6-15 09:32:14
关键是很多稍复杂的规则实现不了
比如身份证验证"^\d{15}$)|(^\d{17}([0-9]|x)\s$"
输入x肯定报错,如果用\x则整个页面全部出错
作者:
niko
时间:
2012-6-15 10:02:22
这个是正则写法的问题,是JS的问题了。
作者:
carboncocoa
时间:
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的字符过滤有关系
作者:
carboncocoa
时间:
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;
}
这样写也不行呢
欢迎光临 jQuery MiniUI (http://miniui.com/discuss/)
Powered by Discuz! X2