所以我正在写一个注册表,我需要显示名称只是数字,字母和下划线.
看看我的代码并告诉我我做错了什么.
它显然已被删除,不包括与问题无关的任何内容,但即使这个代码段也不起作用.
你的正则表达式
/^([a-zA-Z0-9_])+/
寻找
字符串开始(检查),然后是
1个或多个字母,数字或下划线(勾选)
然后无论发生什么事都没关系.这个正则表达式将匹配任何东西,只要它以字母,数字或下划线开头即可
如果你把一个$
放在最后,那么它将起作用 - $
匹配'字符串的结尾',所以它匹配的唯一方法是在字符串的开头和结尾之间只有数字,字母和下划线.
/^([a-zA-Z0-9_])+$/
其次,如果您重新排列HTML ,我建议使用document.getElementById('display-name').value
而不是document.forms
因为它不会破坏,并且更像是"通常接受的标准"
我的正则表达式将遵循: /^[a-zA-Z0-9_]+$/
编辑:我认为缺少一个线路终端$
使它失败.