问题描述
||
我正在尝试查看字符串的第一个字母是否为大写字母。
这是我的HTML
Test:<br/>
<input type=\"text\" name=\"Testr\" size=\"25\" />
这是我的JavaScript
var namer=document.logOn.Testr.value;
if(/[^A]/.test(namer)){
alert(\"CHOMP CHOMP\");
return false;
}
我不明白为什么我的代码不起作用?
你们有什么感想?
解决方法
您的正则表达式查找的内容不是大写的“ A”。尝试:
if (/^[A-Z]/.test(namer)) {
// starts with a capital letter
}
else {
// starts with something else
}
我更改的是:
\“ ^ \”必须在\“ [] \”之外,以表示您正在检查值的开头
覆盖所有大写字母所需的范围,而不仅仅是\“ A \”
请注意,如果您有兴趣匹配Unicode空间中其他位置的大写字符,则必须明确包含这些字符。
, 尝试改用此正则表达式:
/^[A-Z]{1}/
, 您的正则表达式不正确。您正在检查命名者的名称不是以大写字母A开头。您需要改用范围:
if(/^[A-Z]/.test(namer)){
alert(\"CHOMP CHOMP\");
return false;
}
, 看到这个问题的答案:如何使它成为字符串,必须使用JavaScript以大写字母开头?
您只测试大写字母A ...
, 尝试
if(/^[A-Z]/.test(namer)){
alert(\"CHOMP CHOMP\");
return false;
}
, 像这样:
<input type=\"text\" id=\"Testr\" size=\"25\" />
...
var namer = document.getElementById(\'Testr\').value;
if(/^[A-Z]/.test(namer)){
alert(\"CHOMP CHOMP\");
return false;
}