正则表达式

Darklovy 2014-07-17

1.我们新开页面如何返回到主页面

<a href="SchoolInfoManager.aspx" onclick="javascript:window.close();" title="返回">返回>></a>

2.我们在web窗体中如何判断用户在文本框中输入内容的长度,假如现在我们要设置一个文本框中输入的用户名可以使中文英文数字并且长度为50个字符,这里一个汉字等于2个字符,我们如何实现呢,如果我们js里直接用lenght,那么对于输入的英文是可以做出判断的,但是中文就判断不出来了,所以我们有一种更好的办法就是我们获取中英文字符长度然后进行判断,这样汉字只能输入25个,英文字母只能输入50个,这是一个通用的js可以直接调用进行判断 实现如下

 //获取中英文字符串长度
            function getStrLength(strValue) {
                var strLength = strValue.length;
                for (var j = 0; j < strValue.length; j++) {
                    if (strValue.charCodeAt(j) > 255) {
                        strLength++;
                    }
                }
                return strLength;
            }

调用如下:

var txtTrueName = document.getElementById("txtTrueName");  //用户姓名

 var schoolName = getStrLength(txtTrueName.value);
                if (schoolName > 50) {
                    alert("用户名称不能超过50个字符!");
                    txtTrueName.select();
                    return false;
                }

2.手机号码或者固定电话号码的js判断

//验证用户输入电话号码或手机号码是否符合规范
function telCheck(phone)
{
   with(document.forms[0]) 
   {
    var patten =/^(((\(0\d{2,3}\)){1}|(0\d{2,3}[- ]?){1})?([1-9]{1}[0-9]{2,7}(\-\d{3,4})?))$/;
    var pat = /^(\b13[0-9]{9}\b)|(\b14[7-7]\d{8}\b)|(\b15[0-9]\d{8}\b)|(\b18[0-9]\d{8}\b)|\b1[1-9]{2,4}\b$/ ;
    var checkphone=phone.toString().split('-');
    if( checkphone.length>2)
      return false;
     if (phone !="" || phone.length!=0) 
  {         
   if (phone.substr(0,3) == "+86") 
   {
            phone = phone.substr(3,phone.length);
     }
     if (phone.substr(0, 2) == "13"||phone.substr(0, 2) == "14" || phone.substr(0, 2) == "15" || phone.substr(0, 2) == "18") {
            if(pat.test(phone))
            {            
              return true;
         }
         else 
         {
             return false;
         } 
     } 
     else
     {
       if(patten.test(phone)) 
       {
           return true;
       } 
       else 
       {
              return false;
          }
     }
    } 
    else
    {
        return false;
 } 
  }
}

我们如何调用该js方法

if (telCheck(phoneNum)) {
                    return true;
                }
                else {
                    alert("请输入正确的电话(手机)号码!例如:0755-36545454");
                    document.getElementById("txtTel").select();
                    return false;
                }

3.链接地址正确与否的判断

 //验证输入链接地址是否正确
            function validate(txturl) {

                //判断输入的链接地址长度是否符合要求,一个汉字记两个字符
                var tempURL = document.getElementById(txturl).value;
                var y = 0;
                for (var i = 0; i < tempURL.length; i++) {
                    if ((tempURL.charCodeAt(i) < 0) || (tempURL.charCodeAt(i) > 255))
                        y += 2;
                    else
                        y += 1;
                }
                if (y > 100) {
                    alert("请注意:链接地址长度不符合要求,最多250个字符");
                    return false;
                }
                if (tempURL != "") {
                    //判断输入链接地址是否符合地址的格式
                    var url = "^[A-Za-z]+://[A-Za-z0-9-_]+\.[A-Za-z0-9-_%&?/.=]+contentquot;;

                    var matchURL = tempURL.match(url);
                    if (matchURL == null) {
                        alert("请注意:链接地址不符合要求");
                        document.getElementById(txturl).focus();
                        return false;
                    }
                }
                return true;
            }

调用如下:

var URL = document.getElementById('txtURL').value;  //链接地址

 var URLLength = getStrLength(URL);  //验证链接地址输入是否正确
            if (URLLength > 100) {
                alert("链接地址长度不能超出100个字符!");
                document.getElementById('txtURL').select();
                return true;
            }

3.过滤文本框中输入的特殊字符

 //过滤文本框中输入的特殊字符
            function inputTxt(txtValue) {

                var forbidChar = new Array("@", "#", "contentquot;, "%", "^", "&", "*", "……", "“", "'", "¥", "×", "\"", "<", ">", "’", "”");

                for (var i = 0; i < forbidChar.length; i++) {
                    if (txtValue.indexOf(forbidChar[i]) >= 0) {
                        return "您输入的信息: " + txtValue + " 中含有非法字符: " + forbidChar[i] + " 请更正!";
                    }
                }
                return "";
            }

4.一个价格的比较判断

var Price = document.getElementById('txtPrice').value;  //价格

if (parseFloat(Price) <= 0 || parseFloat(Price) >= 1000000) {
                alert("价格只能大于0小于1000000");
                document.getElementById('txtPrice').focus();
                return false;
            }

5.去除前后空格为了判断文本框为不为空的共用js

 //去除前后空格
            function replaceTrim(textValue) {
                return textValue.replace(/(^\s*)|(\s*$)/g, "");
            }

调用如下:

 var PresentNam = document.getElementById('txtPresentName').value;  //礼品名称

 if (replaceTrim(PresentNam ) == "") {
                alert("请输入描述!");
                return false;
            }

1.文本框只能输入数字代码(小数点也不能输入) 
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 

2.只能输入数字,能输小数点. 
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"> 
<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}"> 

3.数字和小数点方法二 
<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}"> 

4.只能输入字母和汉字 
<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers"> 

5.只能输入英文字母和数字,不能输入中文 
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"> 

6.只能输入数字和英文<font color="Red">chun</font> 
<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')"> 

7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号: 
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false"> 

8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号: 
JS验证URL 
 

 function isURL() {
            var strRegex = "^((https|http|ftp|rtsp|mms)://)?[a-z0-9A-Z]{3}\.[a-z0-9A-Z][a-z0-9A-Z]{0,61}?[a-z0-9A-Z]\.com|net|cn|cc (:s[0-9]{1-4})?/contentquot;;
            var re = new RegExp(strRegex);
            if (re.test(document.getElementById("<%=txtServerIP.ClientID %>").value)) {
                alert("成功");
                return true;
            } else {
                alert("失败");
                 return false;
            }
        }

相关推荐