整理一下之前使用的 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").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的記錄條數