我要求返回true
或false
基于检查字符串是否只包含字母的单个字。
我试过以下:
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction(){
document.getElementById("demo").innerHTML = /[a-zA-Z]+/.test("Hello123");
}
</script>
但这会让我true
而非预期的false
我是否以错误的方式使用regexObject.test( String )
?
答案 0 :(得分:2)
您需要检查字符串是否开始(^
),结束($
)并且只包含字母:
console.log("Hello123", /^[a-zA-Z]+$/.test("Hello123"));
console.log("Hello", /^[a-zA-Z]+$/.test("Hello"));
答案 1 :(得分:2)
您需要一个开头符号^
和一个结束符号$
来检查整个字符串。
document.getElementById("demo").innerHTML = /^[a-zA-Z]+$/.test("Hello123");
<p id="demo"></p>
您可以使用不敏感标记缩短正则表达式。
document.getElementById("demo").innerHTML = /^[a-z]+$/i.test("Hello");
<p id="demo"></p>