javascript - 正则表达式 - 仅第一个字符检查非字母字符

标签 javascript html regex

我开始专门研究javascript和regexp。我正在努力提高自己生成正则表达式的能力。

我想做的是 - 我的 html 文件中有一个名称字段(它的形式是 ofc)

...
    <label for="txtName">Your Name*: </label>
    <input id="txtName" type="text" name="txtName" size="30" maxlength="40">
...

并且在我的 js 文件中,我试图检查名称不能以任何非字母字符开头,仅针对第一个字符。 并且整个字段不能包含破折号和空格以外的任何特殊字符。

它们不能以任何非字母字符开头;

/^[A-Z a-z][A-Z a-z 0-9]*$/

它们不能包含破折号和空格以外的任何符号;

/^*[[&-._].*]{1,}$/

当我测试它是否有效时,它根本不起作用。我在哪一部分失败了?

最佳答案

试试 /^[A-Za-z][A-Za-z0-9 -]*$/
当您在字符列表 ([]) 中包含一个空格时,它将被允许出现在正在搜索的字符串中。

^[A-Za-z] 匹配第一个字符并表示它必须是某种字母。
[A-Za-z0-9 -]*$ 将匹配第一个字符之后的所有剩余字符(如果存在),并确保它是字母数字,或者包含空格或破折号。

关于javascript - 正则表达式 - 仅第一个字符检查非字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19821572/

相关文章:

javascript - for循环中的异步函数调用

javascript - 需要帮助解决过滤器的 Jquery 问题

正则表达式在文本 PostgreSQL 中仅查找 6 位数字

Java正则表达式检测句子结尾但忽略(num)(句点),例如15

Python 正则表达式搜索

javascript - 无法使用谷歌应用引擎播放音频。它在本地工作

javascript - React 中基于 state/prop 的渲染组件?

javascript - KnockoutJS 复选框列表不绑定(bind)所选值

html - div背景色溢出

javascript - 更改图像 src 以实现展开/折叠功能(JQ 或 JS)