前端js开发常用的60种正则验证方法

本文汇总了60种前端JavaScript开发中常用的正则表达式验证方法,包括邮箱、手机号码、URL地址、字符串、数字、布尔值等类型的验证,以及浏览器环境、设备类型检测,字符串处理、数据类型判断、数组操作等实用功能。
摘要由CSDN通过智能技术生成

目录

1.邮箱

2.手机号码

3.电话号码

4.是否url地址

5.是否字符串

6.是否数字

7.是否boolean

8.是否函数

9.是否为null

10.是否undefined

11.是否对象

12.是否数组

13.是否时间

14.是否正则

15.是否错误对象

16.是否Symbol函数

17.是否Promise对象

18.是否Set对象

19.是否是微信浏览器

20.是否是移动端

21.是否是QQ浏览器

22.是否是爬虫

23.是否ios

24.是否为PC端

25.去除html标签

26.获取url参数

27.动态引入js

28.根据url地址下载

29.el是否包含某个class

30.el添加某个class

31.el去除某个class

32.获取滚动的坐标

33.滚动到顶部

34.el是否在视口范围内

35.洗牌算法随机

36.劫持粘贴板

37.判断类型集合

38.严格的身份证校验

39.随机数范围

40.将阿拉伯数字翻译成中文的大写数字

41.将数字转换为大写金额

42.判断一个元素是否在数组中

43.数组排序,{type} 1:从小到大 2:从大到小 3:随机

44.去重

45.求两个集合的并集

46.求两个集合的交集

47.删除其中一个元素

48.将类数组转换为数组

49.最大值

50.最小值

51.求和

52.平均值

53.去除空格,type: 1-所有空格 2-前后空格 3-前空格 4-后空格

54.字符转换,type: 1:首字母大写 2:首字母小写 3:大小写转换 4:全部大写 5:全部小写

55.检测密码强度

56.函数节流器

57.在字符串中插入新字符串

58.判断两个对象是否键值相同

59.16进制颜色转RGBRGBA字符串

60.追加url参数


1.邮箱

export const isEmail = (s) => {

    return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)}

2.手机号码

export const isMobile = (s) => {

    return /^1[0-9]{10}$/.test(s)}

3.电话号码

export const isPhone = (s) => {

    return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)}

4.是否url地址

export const isURL = (s) => {

    return /^http[s]?:\/\/.*/.test(s)}

5.是否字符串

export const isString = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'String'}

6.是否数字

export const isNumber = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Number'}

7.是否boolean

export const isBoolean = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Boolean'}

8.是否函数

export const isFunction = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Function'}

9.是否为null

export const isNull = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Null'}

10.是否undefined

export const isUndefined = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Undefined'}

11.是否对象

export const isObj = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Object'}

12.是否数组

export const isArray = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Array'}

13.是否时间

export const isDate = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Date'}

14.是否正则

export const isRegExp = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'RegExp'}

15.是否错误对象

export const isError = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Error'}

16.是否Symbol函数

export const isSymbol = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Symbol'}

17.是否Promise对象

export const isPromise = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Promise'}

18.是否Set对象

export const isSet = (o) => {

    return Object.prototype.toString.call(o).slice(8, -1) === 'Set'}export const ua = navigator.userAgent.toLowerCase();

19.是否是微信浏览器

export const isWeiXin = () => {

    return ua.match(/microMessenger/i) == 'micromessenger'

}

20.是否是移动端

export const isDeviceMobile = () => {

    return /android|webos|iphone|ipod|balckberry/i.test(ua)}

21.是否是QQ浏览器

export const isQQBrowser = () => {

    return !!ua.match(/mqqbrowser|qzone|qqbrowser|qbwebviewtype/i)}

22.是否是爬虫

export const isSpider = () => {

    return /adsbot|googlebot|bingbot|msnbot|yandexbot|baidubot|robot|careerbot|seznambot|bot|baiduspider|jikespider|symantecspider|scannerlwebcrawler|crawler|360spider|sosospider|sogou web sprider|sogou orion spider/.test(ua)}

23.是否ios

export const isIos = () => {

    var u = navigator.userAgent;

    if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {  //安卓手机        return false

    } else if (u.indexOf('iPhone') > -1) {//苹果手机        return true

    } else if (u.indexOf('iPad') > -1) {//iPad        return false

    } else if (u.indexOf('Windows Phone') > -1) {//winphone手机        return false

    } else {

        return false

    }}

24.是否为PC端

export const isPC = () => {

    var userAgentInfo = navigator.userAgent;

    var Agents = ["Android", "iPhone",

        "SymbianOS", "Windows Phone",

        "iPad", "iPod"];

    var flag = true;

    for (var v = 0; v < Agents.length; v++) {

        if (userAgentInfo.indexOf(Agents[v]) > 0) {

            flag = false;

            break;

        }

    }

    return flag;}

25.去除html标签

export const removeHtmltag = (str) => {

    return str.replace(/<[^>]+>/g, '')}

26.获取url参数

export const getQueryString = (name) => {

    const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');

    const search = window.location.search.split('?')[1] || '';

    const r = search.match(reg) || [];

    return r[2];}

27.动态引入js

export const injectScript = (src) => {

    const s = document.createElement('script');

    s.type = 'text/javascript';

    s.async = true;

    s.src = src;

    const t = document.getElementsByTagName('script')[0];

    t.parentNode.insertBefore(s, t);}

28.根据url地址下载

export const download = (url) => {

    var isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;

    var isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;

    if (isChrome || isSafari) {

        var link = document.createElement('a');

        link.href = url;

        if (link.download !== undefined) {

            var fileName = url.substring(url.lastIndexOf('/') + 1, url.length);

            link.download = fileName;

        }

        if (document.createEvent) {

            var e = document.createEvent('MouseEvents');

            e.initEvent('click', true, true);

            link.dispatchEvent(e);

            return true;

        }

    }

    if (url.indexOf('?') === -1) {

        url += '?download';

    }

    window.open(url, '_self');

    return true;}

29.el是否包含某个class

export const hasClass = (el, className) => {

    let reg = new RegExp('(^|\\s)' + className + '(\\s|$)')

    return reg.test(el.className)}

30.el添加某个class

export const addClass = (el, className) => {

    if (hasClass(el, className)) {

        return

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值