我必須驗證一個輸入,目前我最簡單的方法是通過一個正則表達式。沒有小數字的單詞字符
我想檢查所有可能出現在名字中的字符,因此應該允許像ü這樣的特殊字符,就像Schüssler一樣。但數字不應該被允許,否則我會用\ w。
所以我試圖匹配除數字和_之外的所有單詞字符,但是我無法使其工作。 那麼有人可以告訴我如何做這項工作(如果可能的話),還是給我另一個解決方案,不涉及所有可能允許的特殊字符?
我必須驗證一個輸入,目前我最簡單的方法是通過一個正則表達式。沒有小數字的單詞字符
我想檢查所有可能出現在名字中的字符,因此應該允許像ü這樣的特殊字符,就像Schüssler一樣。但數字不應該被允許,否則我會用\ w。
所以我試圖匹配除數字和_之外的所有單詞字符,但是我無法使其工作。 那麼有人可以告訴我如何做這項工作(如果可能的話),還是給我另一個解決方案,不涉及所有可能允許的特殊字符?
這將捕捉浪漫語言的大部分口音。如果你需要更多的,將它們添加:
/^[a-záéíóäëiöúàèììù]+$/i
OP還希望匹配變音符號和重音字符,它們沒有很好的「ä-ÿ」範圍。 – Blender 2012-02-09 16:42:14
爲什麼不能反其道而行之,檢查只的東西,你不想:
if (!name.match(/[0-9_]/g)) {
// Name has no underscores or digits. Keep validating
} else {
// Ask the user why they have digits in their name
}
Downvoter,展現你自己。解釋爲什麼我的答案無效會很好。 – Blender 2012-02-09 16:57:47
允許哪些特殊字符?你有一個反向範圍(指定不允許的字符),但這大概是一個更難的任務,因爲它會允許所有類型的符號和其他垃圾不能成爲名稱的一部分。 – 2012-02-09 16:47:45
如果您使用的是正則表達式,只需指定有效字符列表可能是最容易的。 – 2012-02-09 16:48:07
http://www.regular-expressions.info/screens/rxbcharclass.png 沒有小數和_的西歐變體基本 – Johan 2012-02-09 16:48:37