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);
}
});