JS常用正则表达式合集

/**
 * 密码校验
 * 密码由8位数字、大小写字母和特殊符号组成
 */
export const passwordRules=  {
    pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,
    message: '密码由8位数字、大小写字母和特殊符号组成'
}

/**
 * 邮箱校验
 */
export const emailRules=  {
  pattern: /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/,
  message: '请输入正确的邮箱地址'
}

/**
 * 英文和数字
 */
export const EnglishNumber=  {
  pattern: /^[A-Za-z0-9]+$/,
  message: '请输入正确的格式,不包括数字、英文字母以外的字符'
  //请输入英文和数字
}

/**
 * 英文+数字+下滑线
 */
export const EnglishNumberUnderline=  {
  pattern: /^\w+$/,
  message: '请输入正确的格式英文+数字+下滑线'
}

/**
 * 英文+数字+中文
 */
export const EnglishNumberChinese =  {
  pattern: /^[\u4E00-\u9FA5A-Za-z0-9]+$/,
  message: '请输入正确的格式英文+数字+中文'
}

/**
 * 手机号码
 */
export const MobileRules=  {
  // pattern: /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/,
  pattern: /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/,
  message: '请输入正确的手机号码'
}

/**
 * 身份证号18位
 */
export const IDnumberRules=  {
  pattern: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
  message: '请输入正确的身份证号'
}

/**
 * 小数点后面可以有两位
 */
export const Number2Rules=  {
  pattern: /^[0-9]+(.[0-9]{1,2})?$/,
  message: '请输入正确的金额,最多保留2位小数'
}

/**
 * 中文
 */
export const ChineseRules=  {
  pattern: /^[\u4e00-\u9fa5]{0,}$/,
  message: '请输入中文'
}

/**
 * 0-20位的数字
 */
export const AccountRules=  {
  pattern: /^[\u4e00-\u9fa5]{0,}$/,
  message: '请输入0-20位的数字'
}

/**
 * 有1~3位小数的正实数
 */
export const Number3Rules=  {
  pattern: /^[0-9]+(.[0-9]{1,3})?$/,
  message: '请输入有1~3位小数的正实数'
}

/**
 * 非零的正整数
 */
export const positiveNumberNot0Rules=  {
  pattern: /^[1-9]\d*$/,
  message: '请输入非零的正整数'
}

/**
 * 非零的负整数
 */
export const MinusNot0Rules=  {
  pattern: /^-[1-9]\d*$/,
  message: '请输入非零的负整数'
}

/**
 * 非负整数
 */
export const NotNegativeIntegerRules=  {
  pattern: /^\d+$/,
  message: '请输入非负整数'
}

/**
 * 非正整数
 */
export const NotPositiveIntegerRules=  {
  pattern: /^((-\d+)|(0+))$/,
  message: '请输入非正整数'
}

/**
 * 浮点数
 */
export const FloatingNumberRules=  {
  pattern: /^(-?\d+)(\.\d+)?$/,
  message: '请输入浮点数'
}

/**
 * 带1-2位小数的正数或负数
 */
export const DecimalsRules=  {
  pattern: /^(\-)?\d+(\.\d{1,2})?$/,
  message: '请输入带1-2位小数的正数或负数'
}
/**
 * 输入数字
 */
export const NumberRules=  {
  pattern: /^(-?\d+)(\.\d+)?$/,
  message: '请输入数字'
}
/**
 * 零和非零开头的数字正數
 */
export const ZeroRules=  {
  pattern: /^(0|[1-9][0-9]*)$/,
  message: '请输入零和非零开头的正数'
}


/**
 * 非零开头的最多带两位小数的数字
 */
export const NotZeroDecimals2Rules=  {
  pattern: /^([1-9][0-9]*)+(.[0-9]{1,2})?$/,
  message: '请输入非零开头的最多带两位小数的数字'
}

/**
 *  至少10位的数字
 */
export const AtLeastNumber10Rules=  {
  pattern: /^\d{10,}$/,
  message: '请输入 至少10位的数字'
}


/**
 *  由数字和26个英文字母组成的字符串
 */
export const NumberLetterRules=  {
  pattern: /^[A-Za-z0-9]+$/,
  message: '请输入 由数字和26个英文字母组成的字符串'
}


/**
 * 由26个英文字母组成的字符串
 */
export const LetterRules=  {
  pattern: /^[A-Za-z]+$/,
  message: '请输入由26个英文字母组成的字符串'
}


/**
 * 日期格式
 */
export const DateRules=  {
  // |.*[^\s] 如果不包含具体时间则需要加空格
  pattern: /((?!0000)[0-9]{4}[- /.]((0[1-9]|1[0-2])[- /.](0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])[- /.](29|30)|(0[13578]|1[02])-31)\s([0-1][0-9]|(2[0-3])):([0-5][0-9]):([0-5][0-9])$ | .*[^\s])/,
  message: '请输入日期格式'
}


/**
 * 日期格式 yyyy-MM-dd HH:mm:ss
 */
export const DateRulesLineYmdHms=  {
  pattern: /^[0-9]{4}-(((0[13578]|(10|12))-(0[1-9]|[1-2][0-9]|3[0-1]))|(02-(0[1-9]|[1-2][0-9]))|((0[469]|11)-(0[1-9]|[1-2][0-9]|30))) ([0-1][0-9]|2[0-3]):([0-5][0-9])\:([0-5][0-9])(([\-\+]([0-1][0-9])\:00))?$/,
  message: '支持日期格式:yyyy-MM-dd HH:mm:ss'
}

/**
 * 日期格式 yyyy-MM-dd
 */
export const DateRulesLineYmd=  {
  pattern: /^[0-9]{4}-(((0[13578]|(10|12))-(0[1-9]|[1-2][0-9]|3[0-1]))|(02-(0[1-9]|[1-2][0-9]))|((0[469]|11)-(0[1-9]|[1-2][0-9]|30)))$/,
  message: '支持日期格式:yyyy-MM-dd'
}

/**
 * 日期格式 yyyy/MM/dd HH:mm:ss
 */
export const DateRulesBiasYmdHms=  {
  pattern: /^[0-9]{4}\/(((0[13578]|(10|12))\/(0[1-9]|[1-2][0-9]|3[0-1]))|(02\/(0[1-9]|[1-2][0-9]))|((0[469]|11)\/(0[1-9]|[1-2][0-9]|30))) ([0-1][0-9]|2[0-3]):([0-5][0-9])\:([0-5][0-9])(([\-\+]([0-1][0-9])\:00))?$/,
  message: '支持日期格式:yyyy/MM/dd HH:mm:ss'
}

/**
 * 日期格式 yyyy/MM/dd
 */
export const DateRulesBiasYmd=  {
  pattern: /^[0-9]{4}\/(((0[13578]|(10|12))\/(0[1-9]|[1-2][0-9]|3[0-1]))|(02\/(0[1-9]|[1-2][0-9]))|((0[469]|11)\/(0[1-9]|[1-2][0-9]|30)))$/,
  message: '支持日期格式:yyyy-MM-dd'
}

/**
 * 一年的12个月(01~09和1~12)
 */
export const MonthRules=  {
  pattern: /^(0?[1-9]|1[0-2])$/,
  message: '请输入一年的12个月(01~09和1~12)'
}


/**
 * 一个月的31天(01~09和1~31)
 */
export const DayRules=  {
  pattern: /^((0?[1-9])|((1|2)[0-9])|30|31)$/,
  message: '请输入一个月的31天(01~09和1~31)'
}



/**
 * .这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式
 */
export const ZeroFrontRules=  {
  pattern: /^(0|[1-9][0-9]*)$/,
  message: '请输入0开头的,但不能是一个0'
}


/**
 * 小数点后面保必须留两位
 */
export const MoneyRules=  {
  pattern: /^[1-9]{1,2}$|^0\.\d{1,2}$|^[1-9]\d{1,2}\.\d{1,2}$/,
  // pattern: /^[1-9][0-9]*$/,
  message: '请输入正确的金额,最多保留2位小数'
}


/**
 * 腾讯QQ号
 */
export const QQRules=  {
  pattern: /[1-9][0-9]{4,}/,
  message: '请输入腾讯QQ号'
}



/**
 *  中国邮政编码
 */
export const ChinaPostRules=  {
  pattern: /[1-9]\d{5}(?!\d)/,
  message: '请输入正确的邮政编码'
}


/**
 *  联系方式
 */
export const linkPhoneRules=  {
  pattern: /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/,
  message: '请输入正确的手机号码或者固话号码'
}


/**
 *  统一社会信用代码 -- 新的(18位统一社会信用代码(新)正则校验:)
 */
export const newLicenseNoRules=  {
  pattern: /[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}/,
  message: '请输入正确的信用代码'
}


/**
 *  统一社会信用代码 -- 旧的(15位统一社会信用代码(旧)正则校验:)
 */
export const oldLicenseNoRules=  {
  pattern: /[1-9]\d{15}/,
  message: '请输入正确的信用代码'
}


/**
 *  统一社会信用代码 --(同时支持18位和15位社会信用代码)
 */
export const licenseNoRules=  {
  pattern: /^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/,
  message: '请输入正确的信用代码'
}



/**
 *  谷歌邮箱的正则
 */
export const gmailRules=  {
  pattern: /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/,
  message: '请输入正确谷歌邮箱'
}




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值