正则表达式的多种常用的方法
1.当我们获取地址栏的url里面指定的参数值,用正则匹配比较严谨和简单,这里注意使用REgExp对象转义字符需要两个斜杠(//)。
// 正则获取页面中url参数 export const getUrlParams = (name)=>{
let reg = new RegExp("(\\?|&)"+name+"=([^&]*)(&|$)")// let r = window.location.href.match(reg); var strValue = null; if (r!=null){ strValue= unescape(r[2]); } return strValue }
2.匹配文字的正则表达式: [u4e00-u9fa5]
3.当时我们从后台拿到一个有文本格式的数据展示的时候,需要转换为纯文本,方便操作
let detail ="支持GeoJSON、CSV、Excel格式的空间数据↵支持Google底图、OSM底图、高德底图,支持标准XYZ格式的第三方底图↵支持多种生动立体" let result = detail.replace(/[\r\n]/g,"") console.log(result ) //支持GeoJSON、CSV、Excel格式的空间数据支持Google底图、OSM图、高德底图,支持标准XYZ格式的第三方底图支持多种生动立体
4.正则匹配手机号码:/^1[0-9]{10}$/;
5.匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*;
6.匹配身份证:d{15}|d{18}
7.匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
8.表单规则的正则:
在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下: 只能输入数字:“^[0-9]*$” 只能输入n位的数字:“^d{n}$” 只能输入至少n位数字:“^d{n,}$” 只能输入m-n位的数字:“^d{m,n}$” 只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$” 只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$” 只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$” 只能输入非零的正整数:“^+?[1-9][0-9]*$” 只能输入非零的负整数:“^-[1-9][0-9]*$” 只能输入长度为3的字符:“^.{3}$” 只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$” 只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$” 只能输入由26个小写英文字母组成的字符串:“^[a-z]+$” 只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$” 只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$” 验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,
9.输入框的值校验
利用正则表达式限制网页表单里的文本框输入内容 用正则表达式限制只能输入中文:onkeyup=”value=”/blog/value.replace(/["^u4E00-u9FA5] /g,”) ” onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^u4E00-u9FA5]/g,”))” 用正则表达式限制只能输入全角字符: onkeyup=”value=”/blog/value.replace(/["^uFF00-uFFFF]/g,”) ” onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^uFF00-uFFFF]/g,”))” 用正则表达式限制只能输入数字:onkeyup=”value=”/blog/value.replace(/["^d]/g,”) “onbeforepaste= “clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”))” 用正则表达式限制只能输入数字和英文:onkeyup=”value=”/blog/value.replace(/[W]/g,””) “onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”