Я пытаюсь создать регулярное выражение, которое позволяет использовать только символы A-Z + ints 0-9 вместе с тире и подчеркиванием _, но также и японские символы.
$.validator.addMethod("alphaDash", function(value, element) {
return this.optional(element) || /^[a-zA-Z0-9-_]+$/i.test(value);
}, "Username must contain only letters, numbers, dashes or underscores.");
Регулярное выражение выше / ^ [a-zA-Z0-9 -_] + $ / работает только для английских символов, как я могу заставить его принимать японские символы? Хирагана / катакана / кандзи
XRegExp
lib чертовски крутая: xregexp.com/plugins/#unicode - person T.J. Crowder   schedule 27.04.2017^[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9fa-zA-Z0-9-_]+$
? - person Wiktor Stribiżew   schedule 27.04.2017\pL
и\pN
для сопоставления любой буквы и цифры Unicode. - person Wiktor Stribiżew   schedule 27.04.2017/[a-zA-Z0-9-_\p{Hiragana}\p{Katakana}]+$/
, но ничего не получается Если моя строка заканчивается символом хирагана или катакана, которого я не хочу - person Kiow   schedule 27.04.2017$.validator.addMethod("alphaDash", function(value, element) { return this.optional(element) || /[a-zA-Z0-9-_\p{Hiragana}\p{Katakana}]+$/i.test(value); }, "Username must contain only letters, numbers, dashes or underscores.");
- person Kiow   schedule 27.04.2017\p{Han}
(это соответствует всем китайским символам) с собственным JSRegExp
. Вы должны сослаться наXRegExp
библиотеку. - person Wiktor Stribiżew   schedule 27.04.2017$.validator.addMethod("alphaDash", function(value, element) { var re = XRegExp('^[a-zA-Z0-9-_\\p{Hiragana}\\p{Katakana}]+$'); return this.optional(element) || re.test(value); }, "Username must contain only letters, numbers, dashes or underscores.");
- person Kiow   schedule 27.04.2017[a-zA-Z0-9_]
=\w
. Кроме того, разве вам не нужно сопоставить и кандзи? Вы включили только хирагану и катакану. - person Wiktor Stribiżew   schedule 27.04.2017