判断特殊字符的正则表达式

判断特殊字段的正则表达式,学习


function __isTCZF(s) {

var re =/[`~!@#$%^&*_+<>{}\/'[\]]/im;
return re.test(s);

}


/g 全文查找
/I 忽略大小写
/M 多行查找


模式修正符 -- 解说正则表达式模式中使用的修正符
i
如果设定此修正符,模式中的字符将同时匹配大小写字母。
m
当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。
s
如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。
x
如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两头,也都被忽略。
e
如果设定了此修正符,preg_replace() 在替换字符串中对逆向引用作正常的替换


也可以直接使用字符串函数判断,返回值是一个对象 对象的一个属性是bFlag, true 存在非法字符,false 不存在非法字符,sValue, 去掉非法字符后的串

//判断特殊字符
function isAlphaInvalid(psValue)
{

var vsAlphaInvalid="&~%'\"*;"

if (isEmpty(psValue))

psValue="";

var vStMsg=new Object();

vStMsg.bFlag=false;

var i=0;

for(i=0;i<psValue.length;i++)

{

vsTemp=psValue.substr(i,1);

if(vsAlphaInvalid.indexOf(vsTemp)>=0)

{

vStMsg.bFlag=true;

psValue=psValue.substr(0,i)+psValue.substr(i+1);

i--;

}

vStMsg.sValue=psValue;

return vStMsg

}

### Java 正则表达式匹配账号中的特殊字符 为了验证Java中账号是否包含特殊字符,可以构建特定的正则表达式来实现这一功能。通常情况下,如果希望检测字符串内是否存在除字母、数字之外的其他字符,则可以通过定义一个排除这些常规字符集外的所有剩余字符作为目标来进行匹配。 对于账号而言,假设允许使用大小写字母(A-Z,a-z)、阿拉伯数字(0-9),而任何超出此范围的都视为特殊字符。下面给出了一种可能的方式去编写这样的正则表达式: ```java public class AccountValidator { private static final String SPECIAL_CHARACTERS_REGEX = "[^a-zA-Z0-9]"; /** * 判断给定账户名是否含有特殊字符. */ public static boolean containsSpecialCharacters(String accountName){ return accountName.matches(".*" + SPECIAL_CHARACTERS_REGEX + ".*"); } } ``` 上述代码片段通过`SPECIAL_CHARACTERS_REGEX`变量存储了一个用于识别非字母和非数字字符的模式[^4]。这里采用的是否定式的字符集合(`[^...]`),其中列举了不想要的内容——即除了英文字母以及十进制数位以外的一切符号都会被视作“特殊”。当调用`containsSpecialCharacters()`函数并传入待测用户名时,它会返回布尔值指示该名称里是否有不符合规定的成分存在。 值得注意的是,在实际应用过程中还需要考虑更多细节因素,比如长度限制或是某些具体应用场景下的额外规定等。此外,考虑到不同国家和地区可能存在差异化的编码标准,因此在处理国际化项目时应当更加谨慎对待字符分类问题[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值