Javascript——常用正则表达式和表单验证

用户名:/^[a-z0-9_-]{
     3,16}$/
密码:/^[a-z0-9_-]{
     6,18}$/
十六进制值:/^#?([a-f0-9]{
     6}|[a-f0-9]{
     3})$/
电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{
     2,6})$/
URL/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
IP 地址:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.)
			{
     3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
HTML 标签:/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
Unicode编码中的汉字范围:/^[u4e00-u9fa5],{
     0,}$/
\b  匹配单词的边界;示例:/\bm/,匹配:"moon",匹配值为:"m"/oo\b/"无匹配"/oon\b/"oon"
\B  匹配非单词的边界;匹配位置为:字符串首字符之前;字符串结尾字符之后;
	两个单词字符之间;两个非单词字符之间;空白字符串。
\cX  XA-Z之间的字符,匹配"CTRL+M(U+000D)"字符。
\d  匹配数字字符,相当于[0-9];示例:/\d//[0-9]/,匹配:"2 B2",匹配值为:"2 2"。
\B  匹配非数字字符,相当于[^0-9];示例:/\B//[^0-9]/,匹配:"2 B2",匹配值为:"B"。
\f  匹配(U+000C)。
\n  匹配换行(U+000A)。
\r  匹配回车(U+000D)。
\t  匹配水平制表符(U+0009)。
\v  匹配垂直制表符(U+000B)。
\w  匹配字母、数字、下划线,相当于:[A-Za-z0-9_];
	示例:/\w/,匹配:"apple $5.28 3D",匹配值为:"a p p l e 5 2 8 3 D"。
\W  匹配非单词字符,相当于:[^A-Za-z0-9_];
	示例:/\W/,匹配:"$5.28 50%",匹配值为:"$ . %"。
\n  当n为确定的正整数时,以为表达式从左至右的位置,指代分组位置;
   示例:/apple(,)\sorange\1/,匹配:"apple, orange, cherry, peach.",匹配值为:"apple, orange"

座机号码验证:全国座机号码,两种格式:010-12345678或者0530-1234567
正则里的或者 符号|
var reg = /^\d{3}-\d{8}|\d{4}-\d{7}KaTeX parse error: Undefined control sequence: \d at position 20: …或: var reg = /^\̲d̲{3,4}-\d{7,8}/;

功能需求:
如果用户名输入合法,则后面提示信息为:用户名合法,并且颜色为绿色;
如果用户名输入不合法,则后面提示信息为:用户名不符合规范,并且 颜色为绿色
分析:
用户名只能为英文字母、数字、下划线或短横线,并且用户名长度为6-16位
首先准备好正则表达式模式/$[a-zA-Z0-9]{6,16}^/
当表单失去焦点就开始验证
如果符合正则规范,则让后面的span标签添加right类
如果不符合正则规范,则让后面的span标签添加wrong类

var reg = /^[a-zA-Z0-9_-]{6.16}$/; 
//这个模式用户只能输入英文字符、数字、下划线、短横线但是有边界符和[]这就限定了只能多选1
  username.onblur = function() {
     
       if (reg.test(this.value)) {
     
            notice.className = 'right';
            notice.innerHTML = '用户名格式输入正确';
        } else {
     
            notice.className = 'wrong';
            notice.innerHTML = '用户名格式输入错误';
            }
       }

手机号码:/^1[3|4|5|7|8][0-9]{9}$/
QQ:[1-9][0-9]{4,}(腾讯QQ号从10000开始)
昵称是中文:

^[\u4e00-\u9fa5]{
     2,8}$`

你可能感兴趣的:(javascript)