Home » Uncategorized » python 正则之提取字符串中的汉字,数字,字母 防止 xss

python 正则之提取字符串中的汉字,数字,字母 防止 xss

def r_format(st, a="all"):
    '''all str int zh'''
    ste=""
    if a == "all":
        ste = re.sub("[\"\'\!\%\[\]\,\@\&\\\\\.<]", "", st)
        pass
    if a == "str":
        ste = ''.join(re.findall(r'[A-Za-z]', st))
        pass
    if a == "int":
        ste = re.sub("\D", "", st)
    if a == "zh":
        ste = re.sub("[\"\'A-Za-z0-9\!\%\[\]\,\。\\\\<\.]", "", st)
    # st = "hello,world!!%[545]你好234世界。。。"
    return ste
#\d 匹配一个数字字符。等价于 [0-9]
#\D 匹配一个非数字字符。等价于 [^0-9]

#过滤字符串中的英文与符号,保留汉字
import re
st = "hello,world!!%[545]你好234世界。。。"
ste = re.sub("[A-Za-z0-9\!\%\[\]\,\。]", "", st)
print(ste)

#从字符串中提取数字
totalCount = '100abc'
totalCount = re.sub("\D", "", totalCount) 
print(totalCount)

#从字符串中提取字母字符串
import re
st = "hello,world!!%[545]你好234世界。。。"
result = ''.join(re.findall(r'[A-Za-z]', st)) 
print(result)
你好世界
100
helloworld
/**
 * @purpose     :    字符串安全过滤函数,可过滤掉空格,*,",',;,<,>,{,},\,../,..,./,UNION等
 * @author        :    daicr
 * @time        :    2018-03-15
 * @param         :    string $string 需要进行过滤的字符串
 * @return         :    string $string 过滤完毕的字符串
 */
function strFilter($string) {
    $string = str_replace('%20','',$string);        // 过滤 空格
    $string = str_replace('%27','',$string);        // 过滤 '
    $string = str_replace('%2527','',$string);        // 过滤 '
    $string = str_replace('*','',$string);            // 过滤 *
    $string = str_replace('"','&quot;',$string);    // 将 " 转义为html实体
    $string = str_replace("'",'',$string);            // 过滤 '
    $string = str_replace('"','',$string);            // 过滤 "
    $string = str_replace(';','',$string);            // 过滤 ;
    $string = str_replace('<','&lt;',$string);        // 将 < 转义为html实体
    $string = str_replace('>','&gt;',$string);        // 将 > 转义为html实体
    $string = str_replace("{",'',$string);            // 过滤 {
    $string = str_replace('}','',$string);            // 过滤 }
    $string = str_replace('\\','',$string);            // 过滤 
    $string = str_replace("../","",$str);            // 过滤 ../
    $string = str_replace("..","",$str);            // 过滤 ..
    $string = str_replace("./","",$str);            // 过滤 ./
    $string = str_ireplace("UNION","",$str);        // 忽略大小写过滤 UNION
    return $string;
}
复制代码