正则表达式

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
//^[a-zA-Z]{1} 表示第一个字符要求是字母。
//([a-zA-Z0-9]|[._]){4,19} 表示从第二位开始(因为它紧跟在上个表达式后面)的一个长度为4到9位的字符串,
//它要求是由大小写字母、数字或者特殊字符集[._]组成。
var regLog = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;

//校验普通电话、传真号码:可以“+”或数字开头,可含有“-” 和 “ ”
var regTel = /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;

//校验纯中文字符
var regChina = /^[\u4E00-\u9FA5]+$/;

//正浮点数 
var regDou = /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

//正整数和小数
var regNum = /^\d{1,}|\d{1,}\.\d{1,5}$/;
//邮箱	
//zhangshna.Mr@163.com	
//abc_Wang.dd@sian.com	
//abc_Wang.dd.cc@sian.com
var regEmail0 = /^(\w+)(\.\w+)*@(\w)+((\.\w+)+)$/;

//身份证号
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X  
var regIdCard = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

//密码--数字字母组合
var regPwd = /^([0-9a-zA-Z]){6,32}$/;
//秘法组合(二)
var regPwd0 = /^([0-9a-zA-Z\.\!\$\^\*\+\=\|\.\?\\\/\(\)\{\}\[\]\~\`\#\%\,\<\>\&\:\;\'\"@]){6,32}$/;

//验证码
var regYZ = /^(\w){4}|(\w){6}$/;

//银行卡	16位或19位
var regBankCard = /^(\d{16})|(\d{19})$/;

//手机电话
//中国电信手机号码开头数字 133、1349、153、180、181、189
//中国联通手机号码开头数字 130、131、132、145、155、156、185、186
//中国移动手机号码开头数字 1340-1348、135、136、137、138、139、147、150、151、152、157、158、159、182、183、184、187、188 
var regMobile = /^((13[\d])|(15[\d])|(18[0,5-9])|(14[5,7]))\d{8}$/; 

//RegExp 对象  test方法返回true或false
var regExpTel = new RegExp(regIdCard);
regExpTel.test("13581978748")





/**
 *正则表达式的重复类
 * {n}	匹配前一项n次
 * {n,}	匹配前一项至少n次,至多不限
 * {n,m}匹配前一项至少n次,至多m次
 *  ?	匹配前一项0次或1次,相当于{0,1}
 *  +	匹配前一项至少1次,相当于{1,}
 *  *	匹配前一项0次或多次,相当于{0,}
 * 
 * 选择符 |
 * 定位符
 * ^	匹配字符串的开头,如果在多行文本中搜索,则匹配第一行的开头
 * $	匹配字符串的结尾,如果实在多行文本中搜索,则匹配一行 的结尾
 * \b	匹配一个词的边界,也就是单词与空格间的位置。在英文中使用的比较多
 * \B	与\b相反,匹配一个非单词的边界
 * (?=p)正前向声明,要求接下来的字符与模式p匹配,但不包括匹配中的那些字符
 * (?!p)反向前声明,要求接下来的字符都不与模式p匹配
 * 
 * 标志
 * i	匹配时不区分大小写
 * g	匹配时执行全局匹配模式,即找出所有的匹配,而不是再找第一个匹配之后就停止匹配
 * m	匹配时执行多行匹配模式,及使用^匹配一行的开头和字符串的开头,使用$匹配一行的结尾或字符串的结尾
 * 
 * String对象中的正则表达式
 * match():搜索字符串,返回匹配的子字符串所组成的数组
 * replace(): 查找并替换字符串中的子字符
 * search(): 搜索子字符串,返回匹配的子字符串中的位置
 * split(): 将字符串分割成数组
 * 
 * 正则表达式对象
 * var regExpTel = new RegExp(pattern,attribute);
 * pattern : 即要匹配的正则表达式,(不需要使用"/")
 * attribute:  正则表达式的标志,也就是 i , g 或 m 
 * 方法:
 * exec(): 执行正则表达式的匹配,该方法返回一个数组,如果匹配不成功,返回null
 * test(): 测试正则表达式的匹配,该方法返回一个bool值,如果字符串中包含与正则表达式相配的文本,则返回true,否则返回false
 * toSource(): 返回RegExp对象的源代码,该方法不是所有浏览器支持的方法。
 * toString(): 将RegExp对象转换成字符串
 * 属性:
 * global: 用于表示正则表达式是否有g标志,该属性返回值为bool值
 */

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值