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

Regular Expression - Only first character check non-letter characters

本文关键字:字符 检查 正则表达式 第一个      更新时间:2023-09-26

我已经开始专门研究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 -]*$将匹配第一个字符之后的任何剩余字符(如果存在),并确保它是字母数字,或者包含空格或破折号。