正则表达式:表示对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,又称规则表达式,用于匹配规律规则,在代码中常被简写为regex、 regexp或者RE。
常用的正则表达式:
用户名:/^[a-zA-Z_][a-zA-Z_0-9]{5,9}$/
密码:/^[a-zA-Z0-9_\@#&*]{6,12}$/
邮箱:/^[a-zA-Z0-9_.-]+@([a-zA-Z0-9-]+[.]{1})+[a-zA-Z]+$/
手机号码:/^1[3456789]\d{9}$/
身份证号:
18位:/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
15位:/^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$/
验证方式(简单):
<script>
// 验证用户名
reg = /^[a-zA-Z_][a-zA-Z_0-9]{5,9}$/
var str = "abcde78"
console.log("验证用户名:" + reg.test(str))
// 验证密码
reg1 = /^[a-zA-Z0-9_\@#&*]{6,12}$/
var str2 = "modian161323"
console.log("验证密码:" + reg1.test(str2))
// 验证前后空格
reg2 = /^\s+|\s+$/g
var str4 = " hhh"
console.log("验证前后空格:" + reg2.test(str4))
// 验证电子邮箱
reg3 = /^[a-zA-Z0-9_.-]+@([a-zA-Z0-9-]+[.]{1})+[a-zA-Z]+$/
var str5 = "2123321432@qq.com"
console.log("验证电子邮箱:" + reg3.test(str5))
// 验证手机号
reg4 = /^1[3456789]\d{9}$/
var str6 = "13247766392"
console.log("验证手机号:" + reg4.test(str6))
</script>
以用户名举例:
先写一个文本框,让他在失焦的时候提醒错误与否
用户名:<input type="text" class="txt" onblur="userName()">
然后判断条件,如果内容为空就提示要输入内容,如果不符合正则表达式,就提示格式错误
<script>
function userName() {
//我们将在这个方法里面进行日期格式的检测
//正则表达式
var reg = /^[a-zA-Z_][a-zA-Z_0-9]{5,9}$/;
//输入的日期
var str = document.getElementsByClassName("txt")[0].value;
//用正则表达匹配
if (str == "") {
console.log("请输入用户名");
}
if (!reg.test(str)) {
console.log("用户名格式错误");
} else {
console.log("用户名格式正确");
}
}
</script>