关闭

正则表达式

80人阅读 评论(0) 收藏 举报
分类:
//校验登录名:只能输入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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:20118次
    • 积分:800
    • 等级:
    • 排名:千里之外
    • 原创:59篇
    • 转载:16篇
    • 译文:1篇
    • 评论:2条
    文章分类
    最新评论