2017-08-09 63 views
1

我的要求返回truefalse的基礎上檢查是否一個字符串是一個字,只有字母在裏面。如何在javascript中返回布爾值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)

回答

2

你需要檢查字符串開始(^),端($),並且只包含字母:

console.log("Hello123", /^[a-zA-Z]+$/.test("Hello123")); 
 

 
console.log("Hello", /^[a-zA-Z]+$/.test("Hello"));

+0

感謝Ori的,我明白了! –

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>

+0

謝謝妮娜。 我在懷疑'^'和'''是什麼,所以沒有它進行測試。 –

相關問題