关于正则表达式在验证中的一些应用
说实话,我写博客的水准真心一般,没有什么太花哨的样式,朋友们多担待。
这个是比较常见的一些验证的内容。现在只是单纯的讨论用正则做初步的验证,后面会涉及到Angular这些内容。具体案例,具体分析吧。
html:
//格式和样式就由自己喜欢的方式弄吧,在这只是做一个小小的范例,重点是思路。
QQ号:<input type="text" id="txtQQ"><span></span><br> 邮箱:<input type="text" id="txtEMail"><span></span><br> 手机:<input type="text" id="txtPhone"><span></span><br> 生日:<input type="text" id="txtBirthday"><span></span><br> 姓名:<input type="text" id="txtName"><span></span><br>
JS:
//用数组的方式存内容,方便后续的延生和拓展。用FOR循环是必须必。
var datas=[
{
element:document.getElementById("txtQQ"),
reg:/^\d{5,12}$/,
tip: "请输入正确的QQ"
},
{
element:document.getElementById("txtQQ"),
reg:/^\d{5,12}$/,
tip: "请输入正确的邮箱地址"
},
{
element:document.getElementById("txtQQ"),
reg:/^\d{5,12}$/,
tip: "请输入正确的手机号码"
},
{
element:document.getElementById("txtQQ"),
reg:/^\d{5,12}$/,
tip: "请输入正确的出生日期"
},
{
element:document.getElementById("txtQQ"),
reg:/^\d{5,12}$/,
tip: "请输入正确的姓名"
}];
//说好的FOR循环来了。
for(var i = 0; i < datas.length ; i++) {
var data = datas[i];
//封装的函数调用
addCheck(data.element, data.reg, data.tip);
}
//给文本框添加验证
function addCheck(element, reg, tip) {
element.onblur = function () {
//获取当前文本框对应的span
var span = this.nextElementSibling;
//判断验证是否成功
if(!reg.test(this.value) ){
//验证不成功
span.innerText = tip;
span.style.color = "red";
}else{
//验证成功
span.innerText = "";
span.style.color = "";
}
};
}