几个好用的JS函数 (转)
// 判断是不是数字
function isNumber(str){
var flag = true;
for(i = 0; i < str.length; i++){
var ch = elementValue.charAt(i);
if(ch > '9' || ch < '0'){
flag = false;
break;
}
}
return flag;
}
// 判断是否为空
function isEmpty(str){
if(str.length == 0){
return true;
}
return false;
}
// 对于select,验证其必须有一个带值的option被选中,否则返回false
function checkSelect(sel){
var flag = false;
for(i = 0;i < sel.options.length;i++){
var op = sel.options[i];
if(op.value != "" && op.selected == true){
flag = true;
}
}
return flag;
}
// 对于多个的checkbox,验证它必须至少有一个被选中,否则返回false
function checkCheckBox(che){
var result = false;
if((typeof che.length) == "number"){
for(i = 0;i < che.length ;i++){
if(che[i].checked){
return true;
}
}
}else{
// alert("OK!");
// alert(che.checked);
if(che.checked){
return true;
}
}
return result;
}
// 验证设定的密码的有效性
// 调用样例
//<input type="text" name="userName" >
//<input type="text" name="userName2" >
//<input
name="Submit2" type="button" class="niu1" value="检测"
onclick="return(checkPassword(userName.value,userName2.value));">
function checkPassword(str1,str2) {
if(str1.length == 0 ){
alert("密码不能为空");
return false;
}
if(str1.length > 18 || str1.length < 4){
alert("请将密码长度设置在 4-18 位!");
return false;
}
//密码验证
if(str1 != str2){
alert("两次输入的密码不一致!");
return false;
}
return true;
}
// 电子信箱格式校验
function checkEMailFormat(str){
var reg = /^[_/.0-9a-z-]+@([0-9a-z][0-9a-z-]+/.)+[a-z]{2,3}$/;
var result = str.match( reg );
if( result == null )
{
alert( '请输入正确的电子邮件地址' );
return false;
}
return true;
}
// 用户名格式校验,允许数字,字母,下滑线
function checkUserIdFormat(str){
var reg = //w/;
var result = str.match( reg );
if( result == null )
{
return false;
}
return true;
}
// 输入控制
// 调用样例: <input onKeyPress="inputContrl('digit')" name ="userName" >
function inputContrl(InputMod){
// InputMod可以组合输入:"chinese,letter,digit"
if(InputMod==""||InputMod==null) event.returnValue=false;
InputMod=InputMod.toLowerCase();
var gFlag = false;
// 只能是数字
if(InputMod.indexOf("digit")!=-1&&gFlag==false)
if(event.keyCode>=48&&event.keyCode<=57) gFlag=true;
// 只能是中文
if(InputMod.indexOf("chinese")!=-1&&gFlag==false)
if(event.keyCode>=256) gFlag=true;
// 只能是字母
if(InputMod.indexOf("letter")!=-1&&gFlag==false)
if((event.keyCode>=65&&event.keyCode<=90)||(event.keyCode>=97&&event.keyCode<=122))
gFlag=true;
// 只能是金额数(数字和小数点)
if(InputMod.indexOf("money")!=-1&&gFlag==false)
if (event.keyCode<=57 && event.keyCode>=48 || event.keyCode==46 || event.keyCode == 44)
gFlag=true;
// 只能是指定的符号
if(InputMod.indexOf("symbol")!=-1&&gFlag==false){
alert("running here");
if(event.keyCode=='_' || event.keyCode=='-')
gFlag=true;
}
event.returnValue = gFlag;
}
// 检查字符串中是否有中文
function check_chinese(str) {
for(var i=0;i<str.length;i++){
var c=str.charCodeAt(i);
if(c > 0x4E00 && c < 0X9FA5){
alert("用户名中包含有中文:["+str.charAt(i)+"]");
return false;
}
}
return true;
}
//检验字符串是不是金额数
function check_money(str){
var re = /^(/d+|[1-9])/.{0,1}/d{0,2}$/;
if (!re.test(str)){
alert("输入的金额数有误! 示例:123或123.45");
return false;
}
return true;
}
================2006年2月27日 增加======================
//选中的select 选项从名字为srcSelect的下拉列表移动到名字为desSelect的下拉列表中。
function moveOption(srcSelect,desSelect){
srcLen = srcSelect.options.length;
desLen = desSelect.options.length;
for (i=0;i<srcLen;i++){
optionObj = srcSelect.options[i];
if (optionObj.selected){
text = optionObj.text;
value = optionObj.value;
desSelect.options[desLen++] = new Option(text,value);
}
}
for (i=srcLen-1;i>=0;i--){
optionObj = srcSelect.options[i];
if (optionObj.selected){
optionObj.selected = false;
srcSelect.options[i] = null;
}
}
}
//select 选项的上下移动(obj 为select的id, index:-1表示上移;1表示下移)
function changepos(obj,index)
{
if(index==-1){
if (obj.selectedIndex>0){
obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex-1))
}
}
else if(index==1){
if (obj.selectedIndex<obj.options.length-1) {
obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex+1))
}
}
}