在 JavaScript 中检查字母数字的最佳方法

2023-12-04

对文件执行字母数字检查的最佳方法是什么INPUT领域在JSP?我已附上我当前的代码

function validateCode() {
    var TCode = document.getElementById("TCode").value;

    for (var i = 0; i < TCode.length; i++) {
        var char1 = TCode.charAt(i);
        var cc = char1.charCodeAt(0);

        if ((cc > 47 && cc < 58) || (cc > 64 && cc < 91) || (cc > 96 && cc < 123)) {
        } else {
            alert("Input is not alphanumeric");
            return false;
        }
    }

    return true;
}


询问者最初的使用倾向str.charCodeAt(i)似乎比正则表达式替代方案更快。在我对 jsPerf 的测试RegExp 选项在 Chrome 36 中执行速度慢 66%(在 Firefox 31 中稍微慢一些)。

这是原始验证代码的清理版本,它接收字符串并返回true or false:

function isAlphaNumeric(str) {
  var code, i, len;

  for (i = 0, len = str.length; i < len; i++) {
    code = str.charCodeAt(i);
    if (!(code > 47 && code < 58) && // numeric (0-9)
        !(code > 64 && code < 91) && // upper alpha (A-Z)
        !(code > 96 && code < 123)) { // lower alpha (a-z)
      return false;
    }
  }
  return true;
};

当然,可能还有其他的考虑,比如可读性。一行正则表达式肯定看起来更漂亮。但如果您严格关注速度,您可能需要考虑这种替代方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 JavaScript 中检查字母数字的最佳方法 的相关文章

  • 将鼠标悬停时的鼠标光标更改为锚状样式

    如果我将鼠标悬停在div鼠标光标将更改为 HTML 锚点中的光标 我怎样才能做到这一点 假设你的div has an id myDiv 将以下内容添加到您的 CSS 中 这cursor pointer指定光标应与用于锚点 超链接 的手形图标
  • socket.io 的良好初学者教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • 为什么 iife 在一个简单的例子中不起作用?

    我不明白为什么函数表达式调用不起作用并抛出错误 你能给我解释一下吗 var a function x alert x function a 1 谢谢大家 任务比我想象的要容易得多 这是因为 JS 将 IIFE 解析为函数的参数调用 这样做时
  • 以编程方式填写reactjs表单

    我正在编写一个用户脚本 但无法填写由reactjs制作的表单 我的代码 document querySelector id username value email protected cdn cgi l email protection
  • Three.js:缩放几何图形后错误的 BoundingBox

    在我的场景中 我有一个简单的立方体 var test new THREE Mesh new THREE CubeGeometry 10 10 10 new THREE MeshBasicMaterial scene add test 该立方
  • IE从哪个版本开始支持Object.create(null)?

    您可以通过多种方式在 JavaScript 中创建对象 creates an object which makes the Object prototype of data var data1 new Object Object liter
  • Chrome 中的性能问题

    我目前正在从事一个相对较大的项目 使用 AngularJs 构建 应用程序的一部分是一个表单 您可以向其中添加任意数量的页面 不幸的是 添加了很多不必要的垃圾 即表示表单模型的对象可能会变得非常大 在某些时候 Chrome 基本上无法处理它
  • 带有淘汰赛js的隐形recaptcha

    我正在完成隐形验证码 但我在实现它时遇到问题 谷歌开发人员页面中的代码显示它应该是这样的
  • Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

    对于一个项目 我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本 我已将其转换为路径 组成 我正在使用 Snap svg 为我的形状设置动画 当我将鼠标悬停在多边形上时 形状应该缩放到特定尺寸 包括其中的所有内容 鼠标移开时 形状
  • React-Redux:state.setIn() 和 state.set() 有什么区别?

    我见过使用setIn and set 在一些react redux代码中 state setIn state set 我在这里找到了一些文档https facebook github io immutable js https facebo
  • Angular - CSS - 自定义类型=文件输入,如何使用按钮而不是标签?

    我制作了一个类型为 file 的自定义输入字段 因为我不喜欢默认的输入字段 为了实现这一目标 我做了
  • Javascript split 不是一个函数

    嘿朋友们 我正在使用 javascript sdk 通过 jQuery facebook 多朋友选择器在用户朋友墙上发布信息 但是我收到此错误friendId split 不是函数 这是我的代码 function recommendToFr
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • Firebase 函数 onWrite 未被调用

    我正在尝试使用 Firebase 函数实现一个触发器 该触发器会复制数据库中的一些数据 我想观看所有添加的内容votes user vote 结构为 我尝试的代码是 const functions require firebase func
  • Vue 和 Vuex:处理依赖的计算属性

    我的应用程序是一个使用 Vuex 在 Vue 中构建的精简电子表格 关键组件是TableCollection Table and Row The TableCollection有一个包含多个的数组Table对象 每个Table有一个包含多个
  • 在 Shopify 商店中嵌入 Vue 组件

    在产品页面中 我尝试显示自定义 Vue 组件 为简洁起见 该组件根据给定的产品 ID 显示 Firebase 数据库中的一些信息 我最初尝试将其制作为 Shopify 应用程序 以便我可以访问他们的 API 我实现了 OAuth 并且可以检
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la

随机推荐

  • 使用当前连接从 sql 存储过程调用 dll 函数

    我可以使用打开的连接从存储过程调用 dll 吗 我有一个从 SQL Server 获取数据的 dll 当我从存储过程调用它时 我不想打开新连接 谢谢 这是一个例子 public class Class1 public static SqlS
  • JavaScript Promise .then() 在事件循环中到底是如何处理的?

    我对如何将以下测试代码放入 JS 事件循环中感到困惑 var p1 new Promise function resolve reject setTimeout function resolve 1 100 var p2 new Promi
  • 用JS从outlook导入联系人

    我需要将 Outlook 中的联系人导入到 Web 应用程序中 我认为用JS可以做到这一点 但我不知道如何做 谁能给我一个解决我的问题的示例代码 您可以使用activex和javascript导出outlook联系人 但需要用户在浏览器中启
  • 如何将H2数据库嵌入到交付给客户端的jar文件中?

    我在嵌入式模式下使用 H2 数据库作为桌面应用程序 当我将应用程序压缩到 jar 文件中时 数据库文件被省略 因此 当我运行 MyApplication jar 时 没有任何效果 将 h2 jar 文件嵌入 包含 连接 MyApplicat
  • 删除 JSON 中的 Null 值并更新 JSON

    我通过使用 Newtonsoft 序列化列表将 JSON 数组作为字符串 如下所示 ID 1 Name somename Class 12 Section null ID null Name somename Class 13 Sectio
  • MapView 上的 java.util.ConcurrentModificationException

    fellas 很多天以来我都面临着非常奇怪的问题 我正在尝试经常更新覆盖 因此 有时当我触摸地图时 我会收到 java util ConcurrentModificationException 或者有时当地图尝试更新叠加层时 我会收到 ja
  • 如何使用 Json.NET 序列化和反序列化数组的 ArrayList

    我需要在应用程序中使用 JSON NET 将对象序列化 反序列化为 json Object 具有 ArrayList 属性类型 其中包含字符串数组 为了模拟它 我编写了以下单元测试 public class JsonTests public
  • 仅在释放模式下按 HOME 时才会终止 Activity

    首先 我有两个 Activity Splash 和 MainActivity 仅支持纵向 在 MainActivity 中 我有很多片段使用幻灯片菜单 我想在用户离开 MainActivity 时保留当前片段 这是我的尝试 int curr
  • 无法在 CodeIgniter 中使用会话类检索会话 ID

    我的控制器中有这段代码 class Upload center extends Controller function construct parent Controller this gt load gt model auth model
  • 在 Automator 中编辑文本

    我想创建一个 Automator 服务 它可以获取所选文本并将其替换为编辑后的版本 i e 所选文本将类似于 这是所选文本 然后输出将采用该文本并输出类似 一些预定义的开始 这是选定的文本 这是选定的文本 我以前曾对文件名做过类似的事情 但
  • 如何使用 PHP Bitly v4 缩短 URL?

    我有 Bitly 的代码v3并且运行良好
  • RedirectToAction 不是重定向

    这不应该起作用吗 如果我最后有一个断点 它停在那里 但永远不会到达ContactAction 发布后的页面只是一个空白页面 没有源代码 我错过了什么 谢谢 您的联系人 ContactModel 模型 不应为 void 而应为 public
  • 如何将数据从应用程序发送到AppWidgetProvider?

    我陷入了一个特定的场景 用户从应用程序更新时间后 我需要立即更新我的小部件 我确实尝试通过 Intent Extras 发送数据来进行广播 但失败了 目前 我的数据在AppWidgetProvider我需要将此数据发送到服务 public
  • 更改 LISP 中列表的副本

    在 LISP 中 我有一个传递列表的函数 我想更改此列表的元素而不更改原始列表 通常情况下 我会使用copy list创建我将更改的列表的本地副本 但这似乎不起作用 CL USER gt defun test item let copy c
  • Azure DevOps 多阶段管道陷入等待批准状态

    我将托管的 Azure DevOps 与 Azure Git Repos 中的代码一起使用 我们曾经使用 经典 的基于 UI 的管道编辑器 但在构建 发布阶段正在转向 YAML 模板 过去 我配置了 CI CD 以便当代码通过拉取请求提交到
  • 类型“List”不是类型“List”的子类型

    我有一段从 Firestore 示例中复制的代码片段 Widget buildBody BuildContext context return new StreamBuilder stream getEventStream builder
  • 更新 Entity Framework 6 中的子对象

    使用实体框架6 2 我有以下两个模型 实体 public class City public int CityId get set public string Name get set public class Country public
  • Rails 如何获得最佳性能请求并行 sidekiq 工作线程

    我的 Rails 应用程序有一名 sidekiq 工作人员 该工作线程将向外部 api 发出 2500 个请求 响应是一个 xml 如何让该员工获得最佳绩效 在工作线程内部 生成应用程序级线程 例如 创建 10 个 ruby 线程来处理 2
  • 如何用 Python 编写与 Wikipedia 中的示例不同的策略模式?

    在 2009 年策略模式的维基百科条目中 有一个例子用 PHP 编写 大多数其他代码示例都会执行以下操作 a Context new StrategyA new a execute gt Doing the task the normal
  • 在 JavaScript 中检查字母数字的最佳方法

    对文件执行字母数字检查的最佳方法是什么INPUT领域在JSP 我已附上我当前的代码 function validateCode var TCode document getElementById TCode value for var i