业务场景1:
  密码输入框需要验证输入中文,中文符号,空格等情况,以便于给出错误提示
业务场景2:
  输入框只允许输入数字的情况
业务场景3:
  输入框允许输入均为数字或以https:// 开头的url的情况
备注:
  网上查阅的大部分JavaScript中文/中文符号/空格等正则匹配,在中文加一个英文或者数字都能校验通过,无法满足实际的校验需求,使用下面的字符串替换方法,并比对str替换前后的length,即可完成准确的实际校验需求
  var length = str.length
// str为想要验证的字符串
console.log('length====>>>>>',length)
var chinese_length = str.replace(/[\u4e00-\u9fa5]/g,'').length
// chinese_length为匹配到中文后并替换成''之后的str字符串长度,中间的正则匹配中文,例如str = 'te测试st',length = 6,chinese_length = 4,用于做后面的逻辑判断
var space_length = str.replace(/\s/g,'').length
// space_length 为匹配到字符串中间的空格后并替换成''之后的str字符串长度,中间的正则匹配字符串中间的空格,例如str = 'te st',length = 5,space_length = 4,用于做后面的逻辑判断
// 注意如果str = ' tes t ',str首部和尾部均有空格的场景,可以考虑使用trim()进行删除,删掉头尾的空格后再进行操作,trim()使用方法自行查阅
console.log('space_length ====>>>>>',space_length )
var CN_punctuation_length = str.replace(
/[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/g,'').length
// CN_punctuation_length 为匹配到字符串的中文符号后并替换成''之后的str字符串长度,中间的正则匹配字符串的常用的所有中文符号,例如str = 't。e【st',length = 6,CN_punctuation_length = 4,用于做后面的逻辑判断
console.log('CN_punctuation_length ====>>>>>',CN_punctuation_length )
if (length !== chinese_length) {
throw new Error(`输入不合法,个人链接/个人代码禁止使用中文:${str}`)
} else if (length !== CN_punctuation_length) {
throw new Error(`输入不合法,个人链接/个人代码禁止使用中文符号:${str}`)
} else if (length !== space_length) {
throw new Error(`输入不合法,个人链接/个人代码禁止使用空格:${str}`)
} else {
if(/^\d+$/.test(str)){
//此步骤判断是否str均为数字组成
const code = str
} else if (/(https):\/\/([\w.]+\/?)\S*/.test(str)){
//此步骤判断是否str为https:// 开头的url
const url = str
} else {
throw new Error(`输入不合法,请输入正确的个人链接/个人代码:${str}`)
}

JavaScript 正则匹配中文,中文符号,空格,全数字,以https:// 开头的url,用于各种场景的输入校验的更多相关文章

  1. 常用的JavaScript正则匹配规则代码收藏,很实用

    收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水平菜,老是自己写不出 ...

  2. excel VBA正则匹配单元格符号,并按符号把单元格拆分行(这里是按第一列分行,分行是从活动单元格的行开始,分行前需要选择所有需要填充内容的列,否则需要后期手动填充)

    Sub W()   ' MsgBox "行数:" & Selection.Rows.Count    Dim rows_count As Integer    Dim ro ...

  3. 我也谈javascript正则匹配

    一.javascript 正则全局匹配 g 慎用test()方法 来个例子: var a = /^[a-z]+/gi; a.test('bb123'); //true a.lastIndex ; // ...

  4. JS正则密码复杂度校验之:JS正则匹配半角英文符号

    概述 在JS密码校验中常常会遇到密码强度的校验需求,借用一位朋友提问的图,他在工作中遇到的一个比较经典的密码强度校验要求: 这个需求有两个难点,一,是如何使用正则匹配所有半角英文标点符号,二,是如何验 ...

  5. JavaScript——正则匹配、正则提取、正则替换

    正则匹配 // 匹配日期 var dateStr = '2015-10-10'; var reg = /^\d{4}-\d{1,2}-\d{1,2}$/ console.log(reg.test(da ...

  6. [html][javascript] 正则匹配示例

    var str="akdlfaklhello 1234klfd1441ksalfd9000kals8998j2345fd;lsa"; var reg = new RegExp(/( ...

  7. javascript 正则匹配手机号码

      <form class="form-horizontal" name="mobileform" style="padding:10px;&q ...

  8. javascript 正则匹配 提取所有 preg_match_all matchAll方法

    javascript 提取全部的的方法.javascript中没有matchAll这种方法. 用while来实现类似 PHP 中的preg_match_all() :(by default7#zbph ...

  9. javascript正则(带g符号) 多次调用test 结果交替出现

    链接:https://segmentfault.com/q/1010000000582051 http://stackoverflow.com/questions/2851308/why-does-m ...

随机推荐

  1. python 二维数组赋值问题

    [[]]是一个含有一个空列表元素的列表,所以[[]]*3表示3个指向这个空列表元素的引用, 修改任何一个元素都会改变整个列表 所以需要用另外一种方式进行创建多维数组,以免浅拷贝 >>> ...

  2. 少标签数据学习:宾夕法尼亚大学Learning with Few Labeled Data

    目录 Few-shot image classification Three regimes of image classification Problem formulation A flavor ...

  3. JZOJ2020年8月11日提高组T3 页

    JZOJ2020年8月11日提高组T3 页 题目 Description 战神阿瑞斯听说2008年在中华大地上,将举行一届规模盛大的奥林匹克运动会,心中顿觉异常兴奋,他想让天马在广阔的天空上,举行一场 ...

  4. Spring Cloud 学习 (六) Spring Cloud Config

    在实际开发过程中,每个服务都有大量的配置文件,例如数据库的配置.日志输出级别的配置等,而往往这些配置在不同的环境中也是不一样的.随着服务数量的增加,配置文件的管理也是一件非常复杂的事 在微服务架构中, ...

  5. Python中判断一个中文是否中文数字的方法

    Python内置功能非常强大,在字符串内置函数中提供了一个判断字符串是否全数字的方法,而且这个方法不只是简单判断阿拉伯数字,包括中文数字和全角的阿拉伯数字都认识,这个函数就是字符串的isnumeric ...

  6. 第二十一章、 Model/View便利类列表部件QListWidget详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 列表部件(List Widget)对应类QListWidget,是从QListView派生 ...

  7. PHP代码审计分段讲解(8)

    20 十六进制与数字比较 源代码为: <?php error_reporting(0); function noother_says_correct($temp) { $flag = 'flag ...

  8. 前端性能测试(H5性能测试)

    前端性能调优方法同样适用于H5. 1.H5前端性能知识点 学习前端性能,必须对HTTP协议有所了解. 1.1 浏览器渲染引擎 浏览器是Html解析和页面最终展示的工具. 浏览器的主要功能:将用户选择的 ...

  9. jQuery笔记(三)

    day03 - jQuery 学习目标: 能够说出4种常见的注册事件 能够说出 on 绑定事件的优势 能够说出 jQuery 事件委派的优点以及方式 能够说出绑定事件与解绑事件 能够说出 jQuery ...

  10. Algorithm homework 1

    一.已知下列递推式: \[C(n)= \begin{cases} 1 & , & n = 1 \\ 2C(n/2) + n - 1& , & n \geq 2 \end ...