JavaScript正则表达式账号密码验证,字符替换,字符位置
正则表达式,多用于 " 字符筛选 " 和 " 账号格式 " 的验证
正则表达式的基础格式和语法:
/^ 代表开始
$/ 代表结束
/^ 这中间才是正则格式 $/
^也代表着第一位的意思
$ 也有最后一位的意思
[…] 这是原字集, 里边的内容和,特殊符号都可以自己设置
[0-9] 代表0-9
[a-z] 代表a-z
{n} 代表位数限制,跟在原字集的后面,
{2} 代表两位,不能多,不能少
{2,10} 代表最少两位,最多10位,
一般你的,原字集,后边会跟上位数,
例: [1-9]{2,5}
代表着 1-9 这其中的数字,最少有2位,最多有5位
且必须是1-9这其中包含的数字,如果有0的存在,或位数不符合,都将不满足这条正则格式
如果原字集[ ]的后面如果没有跟位数{ },默认为1
示例:QQ邮箱格式验证
var str ="@123456.com"; //这是一段字符
var fun=/^[@][1-9][0-9]{5,10}[.][c][o][m]$/;
alert(fun.test(str)); //弹出是否符合正则格式
/^ 代表开始,第一位必须是@, 第二位必须是[1-9]中的数字,
因为QQ号没有0开头的,中间部分必须是[0-9]中的数字
并且最少5位,最多10,因为QQ账号最短6位 最长11位,
紧接着必须是[.][c][o][m]这个按顺序的后缀,再
跟上 $/代表已经结束,不能再有其他内容。
确保是以 @开头 .com结尾的正确邮箱格式
在 JavaScript 中,正则表达式常用的三个字符串方法:test() 和 search() 和 replace() 。
replace()替换字符,找到符合正则格式的文字进行替换
代码:
var str ="1aaaa"; //这是一段字符
alert(str.replace(/a/,"*")); /a/是定义的正则条件,后边的*号,是把符合的字符替换成 "*"
运行结果:
这里只把str里第一个a给替换成了 " * "
如果在正则条件后边加上一个 g 就会全部替换,
代码:
var str ="1aaaa"; //这是一段字符
alert(str.replace(/a/g,"*")); /a/是定义的正则条件,后边的g是全部的意思,是把符合的字符替换成 "*"
运行结果:
test()多用于是否符号条件,可以放到if里当作表达式使用
代码:
var str ="1aaaaa"; //这是一段字符
var fun=/^[1-9][a-z]{5,12}$/; //这是定义的正则条件
alert(fun.test(str)); //注意!! 这里字符串的位置和正则格式的位置,fun是定义好的正则格式,str是字符
代码运行结果:
很明显我定义的str字符串符合fun的正则格式,所以它会给一个ture反之则是false;
test()多用于账号格式验证判断。
search() 方法使用表达式来搜索匹配字符,返回字符的位置。
代码:
var str ="Aasdasdsd"; //这是一段字符
var fun=/a/i; //这是定义的正则条件
alert(str.search(fun)); //把str这个字符串用 “search()” 通过/a/i的格式来查找返回第一个a的位置
// /a/后边跟的i是为了让正则格式,不区分大小写
//注意!! 这里字符串的位置和正则格式的位置,fun是定义好的正则格式,str是字符
结果:
这里弹出0是因为,正则条件后面加上了i,所以不区分大小写了, “search()” 找到了a,A位于字符的第一位,所以是0。
**