我想確保八字符代碼中的前四個字母是一個字母。有沒有一個功能,或者我必須做我自己的。我可以在文本框中測試isLetter的子字符串嗎?
回答
你可以添加JavaScript /正則表達式驗證
正則表達式
^[a-zA-Z]{4}.*
您應該使用regular expression validator實現這一目標。
AFAIK有沒有內置的功能。 A 字母根據用戶文化可能意味着不同的事情。如果你的意思是ASCII字母,你可以測試這樣的:
bool IsASCIILetter(char letter) {
return letter >= 65 && letter <= 90 && letter >= 97 && letter <= 122;
}
如果這是您要驗證的輸入控件的內容,使用RegularExpressionValidator。
這種情況可能是很簡單的只是使用正則表達式,但對於更復雜的驗證我會盡量避免正則表達式,因爲它們都太過複雜調試。正如有人比我更聰明的說'我有一個問題,我用正則表達式解決了。現在我有兩個問題'。即使你對正則表達式感到滿意,維護你的代碼的人可能不會。
更明確的代碼是一個更容易閱讀和維護:
bool IsValid (string code) {
if (code.Length != 8)
return false;
for (int i = 0; i < 4; ++i) {
if (!Char.IsLetter(code[i]))
return false;
}
return true;
}
怎麼樣Char.IsLetter?
它有2所覆蓋:一個在那裏你傳遞一個char和一個地方你傳遞一個字符串和索引。
2個選擇:
選項1 - 檢查它在你的後臺代碼:
if (txtBox1.Text.Length >= 4 && txtBox1.Text.ToCharArray().Take(4).All(c => char.IsLetter(c)))
{
// success
}
else
{
// validation failed
}
你沒有說明是否你執行的8長度或它的可選項, upto 8.您可以輕鬆添加此檢查。
選項2 - 使用帶有可選RequiredFieldValidator的RegularExpressionValidator。如果你決定走這條路線,你應該確切地知道你想要允許的最後4個字符,因爲下面這個例子允許任何東西,只限制前4個字母。此外,如果您想要強制執行長度爲8或不等,這將會有所不同。下面的這個是強制性的。使它可以有8個字符,你可以使用「[A-Za-z] {4}(。{4})?」代替。
<asp:TextBox ID="txtBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvtxtBox1" runat="server" ControlToValidate="txtBox1" ErrorMessage="txtBox1 is required!" Display="Dynamic">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revtxtBox1" runat="server" ControlToValidate="txtBox1" ValidationExpression="[A-Za-z]{4}.{4}" ErrorMessage="First 4 characters must be a letter!" Display="Dynamic" />
,如果你不希望允許,因爲單獨的RegularExpressionValidator不會阻止空/空白條目的空白項需要一個RequiredFieldValidator。欲瞭解更多信息,請參閱my answer here。
- 1. 可以在Regex .test()中測試JavaScript的整個字符串嗎?
- 2. 我可以複製空字符串中的字符串嗎?
- 3. 我們可以在wso2esb的文本文件中存儲一個字符串嗎?
- 4. 如何測試字符串的文本
- 5. 我可以使用Enum引用一個文本字符串嗎?
- 6. 可以在Sentonbehalfofname中使用文本字符串嗎?
- 7. 我可以在循環內使用字符串文字嗎?
- 8. 我可以檢測SWT文本字段中的更改嗎?
- 9. 我可以從string.xml文件中讀取文本顏色的字符串嗎?
- 10. 我們可以設置字符串嗎?
- 11. 我可以使用jQuery在HTML中定位一個文本字符串嗎?
- 12. 測試單個字符串中的多個子字符串?
- 13. 我可以在字符串數組中存儲重複的字符串嗎?
- 14. 我們可以使用+符號在StringBuffer中添加字符串文字嗎?
- 15. 我可以在PhantomJS之外運行Durandal的測試框架嗎?
- 16. 我可以逐行讀取本地文本文件到字符串數組嗎?
- 17. JavaScript中,字符串:測試字符串子串的存在,其中包括
- 18. 你可以在字符串文字中插入中斷嗎?
- 19. 我可以設置$嗎?在測試?
- 20. 我可以使用本地主機在SDK中測試XMLHttpRequest()嗎?
- 21. 我可以在字符串中設置特定字節嗎?
- 22. 可以在字符串中使用字符串嗎?
- 23. 在ruby中測試包含可變字符的字符串
- 24. 爲子串測試一個字符串?
- 25. C++中的字符串[length()],可以嗎?
- 26. 我試圖在Python中輸入字符串,你可以教我
- 27. 是否可以從文本框插入字符串到列中?
- 28. 我們可以找回在cout中傳遞的字符串嗎?
- 29. 我可以在Jade的條件中使用JSON字符串嗎?
- 30. 我可以使WPF組合框對待子字符串作爲新值嗎?