[英]regular expression for validation not working
我在表單中有一個“描述文字區域”,用戶可以在其中輸入商品的描述。
這是在提交表單之前通過javascript驗證的。
驗證步驟之一是:
else if (!fld.value.match(desExp)){
和desExp:
var desExp = /^\s*(\w[^\w]*){3}.*$/gm;
現在我的問題是,這對所有情況都適用,除了描述開始使用瑞典語言的特殊字符(å,ä,ö)的描述。
這將無法工作:
åäö hello world
但這將:
hello world åäö
任何修復?
謝謝
我想使用更廣泛的類別會起作用,例如:
/^\s*([\wåäö][^\w]*){3}.*$/gm;
除非我有誤解,否則您只是想驗證字符串是否至少包含3個單詞字符? 開頭的\\ s *告訴它尋找盡可能多的空格字符。 然后,模式(\\ w [^ \\ w] )將匹配任何單詞字符,后跟零個或多個非單詞字符。 {3}將斷言存在三個單詞字符。 的。 最后將匹配字符串的其余部分。
因此,如果我的理解和分解是正確的,那么您會想要的是嗎?
/(\w\W*){3}/gm
它將匹配任何包含3個單詞字符的字符串,無論它們內部是什么。 它與您的稍有不同,因為您的第一個單詞字符前只需要空格即可。 我不確定這是否是您想要的,但是如果是,請告訴我,我將對其進行修改...
因此,考慮到這一點,您可以執行以下操作:
var desExp = /^\s*([\w\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][^\w\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*){3}.*$/gm;
塊[\\w\ -\\豈-\﷏\ﷰ-\]
將匹配任何單詞字符(UTF8或Latin-1)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.