如何在javascript中返回布尔值true / false单个字母字符串的字符串匹配?

时间:2017-08-09 17:36:36

标签: javascript regex

我要求返回truefalse基于检查字符串是否只包含字母的单个字。

我试过以下:

<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 )

2 个答案:

答案 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>