昵称正则表达式_(四)正则表达式
1.概述
存在形式:对象
作⽤:对字符串进⾏复杂控制
匹配:⽤户名表单只能输⼊英⽂和数字,昵称可以输⼊中⽂
替换:敏感词汇替换成 ***
提取:淘宝搜索框输⼊“⼿机”,下⽅延展出“⼿机⾃营、⼿机壳、⼿机钢化膜……”
2.使⽤
创建正则表达式
var 变量名 = new RegExp(/表达式/);
var 变量名 = /表达式/;
测试正则表达式
变量名.test(str) 返回布尔值
3.特殊字符
边界符 开头^ 结尾$
var rg = /abc/; // 只要包含有abc这个字符串返回的都是true
var reg = /^abc/; // abc开头
var reg1 = /^abc$/; // 精确匹配
有其中⼀个就⾏ []
var rg = /[abc]/; // 只要包含有a 或者包含有b 或者包含有c 都返回为true
var rg1 = /^[abc]$/; // 三选⼀只有是a 或者是 b  或者是c 这三个字母才返回 true
var reg = /^[a-z]$/; // 26个英⽂字母任何⼀个字母返回 true  - 表⽰的是a 到z 的范围
var reg1 = /^[a-zA-Z0-9_-]$/; // 26个英⽂字母(⼤写和⼩写都可以)任何⼀个字母返回 true
var reg2 = /^[^a-zA-Z0-9_-]$/; // 取反
var reg = /^a*$/; // * 相当于 >= 0
var reg = /^a+$/; // + 相当于 >= 1
var reg = /^a?$/; // ? 相当于 1 || 0
var reg = /^a{3}$/; // {3} 重复3次
var reg = /^a{3,}$/; // {3,}  ⼤于等于3
var reg = /^a{3,16}$/; // {3, 16}  ⼤于等于3并且⼩于等于16
var reg = /^[a-zA-Z0-9_-]{6,16}$/; // 只能输⼊英⽂字母数字下划线短横线,特殊符号不可以出现var reg = /^abc{3}$/; // c重复三次  abccc
var reg = /^(abc){3}$/; // abc重复三次 abcabcabc
案例-⽤户名验证
<input type="text" class="uname"> <span>请输⼊⽤户名</span>
<script>
var reg = /^[a-zA-Z0-9_-]{6,16}$/;
var uname = document.querySelector('.uname');
var span = document.querySelector('span');
if (st(this.value)) {
span.className = 'right';
span.innerHTML = '⽤户名格式输⼊正确';
} else {
span.className = 'wrong';
span.innerHTML = '⽤户名格式输⼊不正确';
}
}
</script>
简写
// 座机号码验证:  全国座机号码010-******** 或者 0530-*******
// 符号或 |
var reg = /^d{3}-d{8}|d{4}-d{7}$/;
var reg = /^d{3,4}-d{7,8}$/;
案例-表单验证
结构
<li>
<label for="tel">⼿机号:</label>
<input type="text" class="inp" id="tel">
<span class=""></span>
</li>
<li>
<label for="">QQ:</label>
<input type="text" class="inp" id="qq">
<span></span>
</li>
<li>
<label for="">昵称:</label>
<input type="text" class="inp" id="nc">
<span></span>
</li>
<li>
<label for="">短信验证码:</label>
<input type="text" class="inp" id="msg">
<span></span>
</li>
<li>
<label for="">登陆密码:</label>
<input type="text" class="inp" id="pwd">
<span></span>
</li>
<li>
<label for="">确认密码:</label>
<input type="text" class="inp" id="surepwd">    <span></span>
</li>
⾏为
var regtel = /^1[3|4|5|7|8]d{9}$/; // ⼿机号
var regqq = /^[1-9]d{4,}$/; // QQ号
var regnc = /^[u4e00-u9fa5]{2,8}$/; // 昵称
var regmsg = /^d{6}$/; // 短信验证码
var regpwd = /^[a-zA-Z0-9_-]{6,16}$/; // 密码
var tel = document.querySelector('#tel');
var qq = document.querySelector('#qq');
var nc = document.querySelector('#nc');
var msg = document.querySelector('#msg');
var pwd = document.querySelector('#pwd');
正则表达式提取中文var surepwd = document.querySelector('#surepwd');
regexp(tel, regtel); // ⼿机号
regexp(qq, regqq); // qq号
regexp(nc, regnc); // 昵称
regexp(msg, regmsg); // 短信验证码
regexp(pwd, regpwd); // 密码
function regexp(ele, reg) {
if (st(this.value)) {
} else {
}
};
if (this.value == pwd.value) {
} else {
}
}
}
4.替换
div.innerHTML = place(/沙雕|/g, '**');
}
replace(正则表达式, '**')
g:全局匹配
i:忽略⼤⼩写
gi:全局匹配 + 忽略⼤⼩写

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。