JS 的幾個簡單正則匹配例子和 mysql 的一個正則匹配例子

整理一下之前使用的 js 幾個正則匹配:

1、驗證 e-mail 格式是否正確:

           var temp = document.getElementById("emailText");
           //對電子郵件的驗證
           var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
           if(!myreg.test(temp.value))
           {
                   alert('提示:請輸入有效的E_mail!');
                   myreg.focus();
                   return false;
            }
2、驗證手機號碼格式是否正確:

	var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; 
	if(!myreg.test($("#phone").val())) 
	{ 
		alert('請輸入有效的手機號碼!'); 
		return false; 
	} 
3、驗證一個值只能是數字,含小數的話只能是 x 位小數,且不含前導0.

正則表達式:var regulationOfNum = /^[1-9][0-9]*[\.]?\d*$/;

如果 $('input').val().split('.').length==2 證明有小數,則 判斷小數點後有幾位即 <=> 判斷 minVal.split('.')[1].length 與 x 是否匹配。

4、測試中文字符(>=1箇中文字符)的正則

      var re = /^[\u4E00-\u9FFF]{1,}$/;

5、驗證真實姓名

	var regName =/^[\u4e00-\u9fa5]{2,4}$/; 
	if(!regName.test(name)){ 
	  alert(‘真實姓名填寫有誤‘); 
	   return false; 
	}
6、驗證身份證號

	var idNo = '12345678911111111X';
	var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(X|x)$)/; 
	if(!regIdNo.test(idNo)){ 
	  alert('身份證號填寫有誤'); 
	}


綁定一個 input 的值改變的響應函數:

    $("input").bind('input propertychange', function() {
	  var val = $("input").val();//獲取input值
	  //邏輯...
    });

mysql 數據庫語句 正則匹配 搜索 表中某個字段(用逗號隔開的多個值組成)中包含某些值(1個或多個)的記錄條數。

發現用 Sql 語句不好寫,百度後發現這種正則匹配形式很好地解決了問題。

如:

表 `client_t` 中 attrTag 字段包含多個值時使用“,”隔開,例如記錄 a 中 attrTag = 'a,b,c,d';

REGEXP '(a,b)' :“”隔開標識 a 和 b 的關係。

REGEXP '(a|b)' :“ ”隔開標識 a 或 b 的關係。

SELECT COUNT(1) FROM `client_t` WHERE attrTag REGEXP '(a,b)' AND 1=1 //查找attrTag字段包含a和b的記錄條數
SELECT COUNT(1) FROM `client_t` WHERE attrTag REGEXP '(a|b)' AND 1=1 //查找attrTag字段包含a或b的記錄條數









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章