常用js总结(补:2016-09-21)
1. 自定义方法:
1.1 replaceAll方法
1 <input type="text" onchange="replaceAllTest(this)"/> 2 3 <script type="text/javascript"> 4 5 //将所有a替换成b 6 function replaceAllTest(obj){ 7 8 var val = obj.value; 9 var newVal = ""; 10 if(val != ""){ 11 newVal = val.replaceAll("a", "b"); 12 } 13 obj.value = newVal; 14 15 } 16 17 //添加String对象的原型方法-replaceAll 18 String.prototype.replaceAll = function(s1, s2){ 19 20 return this.replace(new RegExp(s1, "gm"), s2); 21 22 } 23 24 </script>
1.2 startWith方法
1 <input type="text" onchange="startWithTest(this)"/> 2 3 <script type="text/javascript"> 4 5 //判断是否以a开头 6 function startWithTest(obj){ 7 8 var val = obj.value; 9 var result = false; 10 if(val != ""){ 11 result = val.startWith("a"); 12 } 13 alert(result); 14 15 } 16 17 //自定义String原型方法-startWith 18 String.prototype.startWith = function(prefix){ 19 20 var reg = new RegExp("^" + prefix); 21 return reg.test(this); 22 23 } 24 25 </script>
1.3 endWith方法
1 <input type="text" onchange="endWithTest(this)"/> 2 3 <script type="text/javascript"> 4 5 //判断是否以.结束 6 function endWithTest(obj){ 7 8 var val = obj.value; 9 var result = false; 10 if(val != ""){ 11 result = val.endWith("."); 12 } 13 alert(result); 14 15 } 16 17 //自定义String原型方法-endWith 18 String.prototype.endWith = function(suffix){ 19 20 var reg = new RegExp("\\" + suffix + "$"); 21 return reg.test(this); 22 23 } 24 25 </script>
2. 用js手动触发onchange方法
用js给input框赋值后,默认不会触发input框的onchange方法,此时可以用js手动触发
1 <input type="text" onchange="test()" onblur="CheckData(this)"/> 2 3 <script type="text/javascript"> 4 5 //校验数据格式是否正确 6 function CheckData(obj){ 7 8 var val = obj.value; 9 if(val != ""){ 10 //小数点前最多12位,小数点后1-2位 11 var reg = new RegExp(/^\d{0,12}(\.\d{1,2})?$/); 12 var result = reg.test(val); 13 if(!result){//不符合格式的数据 14 obj.value = ""; 15 obj.onchange();//手动触发onchange方法 16 } 17 } 18 19 } 20 21 //测试onchange方法是否执行 22 function test(){ 23 24 alert("onchange方法执行了"); 25 26 } 27 28 </script>