# js校验form表单大合集

本文汇总了多种使用JavaScript进行表单验证的方法,包括数字输入、手机号码格式、密码强度及一致性验证等。此外还介绍了金额格式化、银行卡号格式化等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js校验form表单集锦

本人在工作中遇到的各种js校验表单方法大合集,希望对自己对各位同行有所帮助(目前遇到的就是这些,以后遇到其他的还会持续更新):


限定只能输入数字: 
(在input标签后面直接校验)

<input type="text" name="sum" size="10" onkeyup="if(event.keyCode !=37 && event.keyCode != 39){if (!/^[\d]+$/ig.test(this.value)){this.value='';}}"/> 

(单独的方法校验)

function checkNumber(){
    var text=$("numberid").val()
    (text.search(/^\d+$/g) == -1) {
        check.style.color = "red";
        check.innerText = "应为纯数字!";
    }
}

手机号码格式校验:

var ab = /^1[3|4|5|7|8]\d{9}$/;
var phone=$("#phoneid").val();
if (ab.test(phone) == false) {
   alert("手机号码格式不正确");
}

密码只能是数字和字母:

var abc = /^[A-Za-z0-9]+$/;
var password=$("#passwordid").val();
if (abc.test(password) == false) {
   alert("密码格式不正确");
}

密码等级的校验:

function checkPassword(){
    text=$("passwd_rigester_input").val();
    var check = $("passwdCheck_label");

    if (text == "") {
        check.style.color = "red";
        check.innerText = "密码项不能为空!";
    }
    //密码中只能有数字、字母和标点符号
    else if (text.split(" ").length != 1) {
        check.style.color = "red";
        check.innerText = "密码中不能出现空格!";
    }
    else {
        //验证密码的安全级数,纯数字或纯字母或纯标点为1级,字母+数字为2级,字母或数字任意一个+标点为3级

        if ((text.search(/^[a-zA-Z]+$/g) != -1) || (text.search(/^[0-9]+$/g) != -1)) {
            check.style.color = "yellow";
            check.innerText = "密码安全级别为1级!";
        }
        else if (text.search(/^[a-zA-Z0-9]+$/g) != -1) {
            check.style.color = "yellow";
            check.innerText = "密码安全级别为2级!";
        }
        else {
            check.style.color = "yellow";
            check.innerText = "密码安全级别为3级!";
        }
    }
}

确认密码:

function configPassword(){
    text = document.getElementById("confirmPasswd_input").value;
    var check = document.getElementById("confirmPasswdCheck_label");
    if (text != document.getElementById("passwd_rigester_input").value) {
        check.style.color = "red";
        check.innerText = "两次密码输入不一致!";
    }
    else {
        check.style.color = "yellow";
        check.innerText = "密码确认正确!";
    }
}

银行卡输入四位一个空格格式化:

<td class="ar">卡号:</td>
<td><input class="ip-text" type="text" id="cardno" name="UB_CARDNO" value=""/></td>
<td></td>

$("#cardno").keydown(function(e) {
   if(!isNaN(this.value.replace(/[ ]/g,""))){
       this.value =this.value.replace(/\s/g,'').replace(/(\d{4})(?=\d)/g,"$1 ");//四位数字一组,以空格分割
   }else{
       if(e.keyCode==8){//当输入非法字符时,禁止除退格键以外的按键输入
           return true;
       }else{
           return false
       }
   }
});

去除字符串中的所有空格(第二个参数为g):

function Trim(str,is_global)
{
   var result;
   result = str.replace(/(^\s+)|(\s+$)/g,"");
   if(is_global.toLowerCase()=="g")
   {
       result = result.replace(/\s/g,"");
   }
   return result;
}

金额格式化:

/**
 * 将数值四舍五入(保留2位小数)后格式化成金额形式
 *
 * @param num 数值(Number或者String)
 * @return 金额格式的字符串,如'1,234,567.45'
 * @type String
 */
function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if(cents<10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+','+
                num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + num + '.' + cents);
}

/**
 * 将数值四舍五入(保留1位小数)后格式化成金额形式
 *
 * @param num 数值(Number或者String)
 * @return 金额格式的字符串,如'1,234,567.4'
 * @type String
 */
function formatCurrencyTenThou(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*10+0.50000000001);
    cents = num%10;
    num = Math.floor(num/10).toString();
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+','+
                num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + num + '.' + cents);
}

// 添加金额格式化    
jQuery.extend({
    formatFloat:function(src, pos){
        var num = parseFloat(src).toFixed(pos);
        num = num.toString().replace(/\$|\,/g,'');
        if(isNaN(num)) num = "0";
        sign = (num == (num = Math.abs(num)));
        num = Math.floor(num*100+0.50000000001);
        cents = num%100;
        num = Math.floor(num/100).toString();
        if(cents<10) cents = "0" + cents;
        for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
            num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
        return (((sign)?'':'-') + num + '.' + cents);
    }
});
js表单验证控制代码全 /* 目录: 1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、检测数字、判断是否为数字只能输入数字 5:只能输入英文字符和数字 6: js email验证 、js 判断email 、信箱/邮箱格式验证 7:js字符过滤,屏蔽关键字 8:js密码验证、判断密码 2.1: js 不为空、为空或不是对象 、判断为空 、判断不为空 2.2:比较两个表单项的值是否相同 2.3:表单只能数字和"_", 2.4:表单项输入数值/长度限定 2.5:中文/英文/数字/邮件地址合法性判断 2.6:限定表单项不能输入的字符 2.7表单的自符控制 1. 检查一段字符串是否全由数字组成 2. 怎么判断是否是字符 3. 怎么判断是否含有汉字 4. 邮箱格式验证 5. 数字格式验证 6. 电话号码格式验证 7. 判断输入是否为中文的函数 8. 综合的判断用户输入的合法性的函数 9. 判断密码是否输入一致 10. 判断用户名是否为数字字母下滑线 2.8:form文本域的通用校验函数 */ 1. 长度限制 function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符!"); document.a.b.focus(); return false; } } 2. 只能是汉字 3." 只能是英文 function onlyEng() { if(!(event.keyCode>=65&&event.keyCode<=90)) event.returnvalue=false; } 4. 只能数字 function onlyNum() { if(!((event.keyCode>=48&&event.keyCode=96&&event.keyCode<=105))) //考虑小键盘上的数字键 event.returnvalue=false; } 5. 只能是英文字符和数字 6. 验证油箱格式 function isEmail(strEmail) { if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) return true; else alert("oh"); } 7. 屏蔽关键字(这里屏蔽***和****) function test() { if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){ alert(":)"); a.b.focus(); return false;} } <form name=a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值