整理一下之前使用的 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的记录条数