用户名和密码上的 Oxwall 仅允许使用英文字母(例如用户名 markjones) 我需要 oxwall 登录/加入/注册才能接受其他语言的字母/字符,例如(例如 BG/RU 保加利亚语和俄语)这些是西里尔字母例如(保加利亚语键盘)(ш г п х з),例如希腊字母表是(Ψ Σ π),例如阿拉伯语是(ف ض ج)。所以我要解释的是,在 oxwall 上使用 EN(英语)可以正常工作,只需要还允许使用其他语言的字符和字母(用于注册/登录和注册)。
oxwall 当前验证器 php 是 -
<?php
class UTIL_Validator
{
const PASSWORD_MIN_LENGTH = 4;
const PASSWORD_MAX_LENGTH = 128;
const USER_NAME_PATTERN = '/^[\w]{1,32}$/';
const EMAIL_PATTERN = '/^([\w\-\.\+\%]*[\w])@((?:[A-Za-z0-9\-]+\.)+[A-Za-z]{2,})$/';
const URL_PATTERN = '/^(http(s)?:\/\/)?((\d+\.\d+\.\d+\.\d+)|(([\w-]+\.)+([a-z,A-Z][\w-]*)))(:[1-9][0-9]*)?(\/?([\w-.\,\/:%+@&*=~]+[\w- \,.\/?:%+@&=*|]*)?)?(#(.*))?$/';
const INT_PATTERN = '/^[-+]?[0-9]+$/';
const FLOAT_PATTERN = '/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/';
const ALPHA_NUMERIC_PATTERN = '/^[A-Za-z0-9]+$/';
public static function isEmailValid($value)
{
$pattern = self::EMAIL_PATTERN;
if (!preg_match($pattern, $value)) {
return false;
}
return true;
}
public static function isUrlValid($value)
{
$pattern = self::URL_PATTERN;
if (!preg_match($pattern, $value)) {
return false;
}
return true;
}
public static function isIntValid($value)
{
if (!preg_match(self::INT_PATTERN, $value)) {
return false;
}
return true;
}
public static function isFloatValid($value)
{
if (!preg_match(self::FLOAT_PATTERN, $value)) {
return false;
}
return true;
}
public static function isAlphaNumericValid($value)
{
$pattern = self::ALPHA_NUMERIC_PATTERN;
if (!preg_match($pattern, $value)) {
return false;
}
return true;
}
public static function isUserNameValid($value)
{
$pattern = self::USER_NAME_PATTERN;
if (!preg_match($pattern, $value)) {
return false;
}
return true;
}
public static function isDateValid($month, $day, $year)
{
if (!checkdate($month, $day, $year)) {
return false;
}
return true;
}
public static function isCaptchaValid($value)
{
if ($value === null) {
return false;
}
require_once OW_DIR_LIB . 'securimage/securimage.php';
$img = new Securimage();
if (!$img->check($value)) {
return false;
}
return true;
}
}
?>