日期:2014-05-16 浏览次数:20431 次
<script language="javascript" type="text/javascript">
window.onload = Init;
function Init(){
var str = "abc中国人ddd";
alert(str.left(4));
alert(str.left(4));
alert(str.left(4));
alert(str.left(4));
}
String.prototype.left = function(){
if(arguments[0] && /^\d+$/ig.test(arguments[0]) ){
return "abcd";
}
else{
return (arguments[0] && /^\d+$/ig.test(arguments[0]) );
}
}
</script>
/^\d+$/
------解决方案--------------------
估计是用了g模式后,IE和FF的表现不同,不过也真的挺奇怪的。不用g模式,一切正常。
------解决方案--------------------
飘过!
------解决方案--------------------
没有太大的问题啊
你的规则式其实有点多余,改成
var rg=/^\d+$/ ;
或者
var rg=/^\d+$/i ;
就够了。
<script language="javascript" type="text/javascript">
window.onload = Init;
function Init(){
var str = "abc中国人ddd";
alert(str.left(4));
alert(str.left(4));
alert(str.left(4444));
alert(str.left('4a4'));
alert(str.left('a'));
alert(str.left());
}
String.prototype.left = function(){
var rg=/^\d+$/ ;
var str1='';
if(arguments[0]){
str1=arguments[0];
if (rg.test(str1)){
return "abcd";
}
else{
return false;
}
}
else{
return arguments[0];
}
}
</script>
你在firefox下最好安装firebug调试工具来看到底问题在哪里。
不过真的好像firefox的javascript支持中对 //g这样的规则式处理有点问题。
------解决方案--------------------
http://www.cnblogs.com/huqingyu/archive/2007/07/03/720657.html
------解决方案--------------------
上面N人回答了, 就留个言吧. 嘿嘿/
------解决方案--------------------
jf...
------解决方案--------------------
function a(val)
{
var re = /^\d+$/g;
alert(re.lastIndex);
return re.test(val);
}
alert(a(5));
alert(a(6));