自己测试时发现问题出在:
/^\d+$/ig.test(arguments[0])
上,但是后面都return true了!!!难道FireFox的正则有问题?
/^\d+$/ig.test(arguments[0])
上,但是后面都return true了!!!难道FireFox的正则有问题?
解决方案 »
- 点击标题切换背景图片的代码错在哪?具体见js代码。
- jsp包含js文件出错了
- 网上购物
- AJAX菜题 为什么取不到输出的值
- 请教asp服务端的字符串数组怎么传递给jscript(客户端)
- 大家是否做过可以在图象上定义热点的Web组件,或知道的 高分请教
- 求一个简单的正则表达式,判断一个字符串中是否包含另一个字符串
- 怎么让title属性支持html呀?比如说动态显示关于此链接的一个图片和一段带颜色的文本说明
- 留言时输入的url地址提交后可以直接点击,请问是怎么完成的?
- 哪位大侠帮我看一看,为什么点击按钮后alert出来的总是24,并且滚层的高度不理想
- 如何只选中一个CheckBox?
- replace替换不正常
<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] ){
if( arguments[0] instanceof Number || (arguments[0] instanceof string && arguments[0].match(/^\d+$/ig) ) )
return "abcd";
} }</script>
typeof(num) == "number" || typeof(num) == "string"最后直接改成
!isNaN(arguments[0]),简单又方便。
你的规则式其实有点多余,改成
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这样的规则式处理有点问题。
{
var re = /^\d+$/g;
alert(re.lastIndex);
return re.test(val);
}
alert(a(5));
alert(a(6)); lz可以研究一下
用ie的话是0 true 0 true
用ff的话是0 true 1 false