js校验

1.控制textarea可输入几行且每行输入多少字

//设置 该 textarea 框 最多能输入3行,且每行长度不超过8个字
<textarea rows="3" cols="8" class="prooductSellPoint" id="prooductSellPoint" placeholder="请输入3条卖点,每条不超过8个字" onkeyup="this.value = checkTextArea(this.value);" onblur="checkTextAreaLength(this.value)"></textarea>
//onkeyup 事件会在键盘按键被松开时发生。 返回该 textarea 框中的所有字段值
function checkTextArea(value){
   var str = value.split('\n');
   var length = str.length;
   if(str.length>3){
      length = 3;
   }
    for(var j=0;j<str.length;j++){
       str[j] = checkStr(str[j], 16);
    }
    value = str[0]+'\n'+str[1]+'\n'+str[2];
    if(length == 0){
       return '';
    }else if(length == 1){
       return str[0];
    }else if(length == 2){
       return str[0]+'\n'+str[1];
    }else{
       return str[0]+'\n'+str[1]+'\n'+str[2];
    }
}
//控制文字长度(文字长度超过指定长度时,截取至指定长度),中文占两个字符,其他占一个字符
function checkStr(value, maxLength){
    var l = 0;
    for(var i=0; i<value.length; i++) {
        if (/[\u4e00-\u9fa5]/.test(value[i])) { //如果是中文长度加2,否则长度加1
            l+=2;
        } else {
            l++;
        }
        console.log(l)
        if (l > maxLength) { //如果文字长度超过指定长度时,截取到指定长度
            return value.substr(0,i);
        }
    }
    return value;
}

 

//控制某个字符串不能超过指定长度
function checkTextAreaLength(value){
    var str = value.split('\n');
   if(str.length>3){
      layer.alert('产品卖点总结不能超过3条');
      return false;
   }
    for(var j=0;j<str.length;j++){
        var flag = checkStrLength(str[j], 16);
        if(!flag){
          layer.alert('产品卖点总结第'+(j+1)+'条超过8个字');
           return false;
        }
    }
    return true
}

 

//验证字符串长度 value:字符串的值,maxLength:控制最大长度,注意中文占两个字符。
function checkStrLength(value, maxLength){
    var l = 0;
    for(var i=0; i<value.length; i++) {
        if (/[\u4e00-\u9fa5]/.test(value[i])) {
            l+=2;
        } else {
            l++;
        }
        console.log(l)
        if (l > maxLength) {
            return false;
        }
    }
    return true;
}
//例:
if(!checkStrLength(trim(value), 20)){
    layer.alert("角色名称不能超过10字!");
    flag=false;
    return false;
}

2.判断字符是否为空的方法

//判断字符是否为空的方法
function isEmpty(obj){
    if(typeof obj == "undefined" || obj == null || obj == ""){
        return true;
    }else{
        return false;
    }
}
3.去除字符串前后空格并返回字符串
function trim(param) {
    if ((vRet = param) == '') {
        return vRet;
    }
    while (true) {
        if (vRet.indexOf(' ') == 0) {
            vRet = vRet.substring(1, parseInt(vRet.length));
        } else if ((parseInt(vRet.length) != 0) && (vRet.lastIndexOf(' ') == parseInt(vRet.length) - 1)) {
            vRet = vRet.substring(0, parseInt(vRet.length) - 1);
        } else {
            return vRet;
        }
    }
}

 

4.验证手机号格式是否正确
function isLegalMobile(mobile) {
    return /^1\d{10}$/i.test($.trim(mobile));
}

5.验证Email地址
function valiedEmail(email){
    var reg = /^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/;
    return reg.test(email);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值