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

时间:2013-11-06 19:58:32

标签: javascript html regex

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

我要做的是 - 我的html文件中有一个名字字段(以c的形式)

...
    <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,}$/

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

1 个答案:

答案 0 :(得分:8)

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

^[A-Za-z]匹配第一个字符并说它必须是某种字母。
[A-Za-z0-9 -]*$将匹配第一个字符后面的任何剩余字符(如果存在),并确保它是字母数字,或包含空格或短划线。