不能包含特殊字符:;!@#$%^&**()的正则表达式
时间: 2023-08-07 15:02:32 浏览: 384
下面是一个正则表达式,可以用于校验字符串中是否包含特殊字符:;!@#$%^&**()
```
^[^;!@#$%^&*()]*$
```
该正则表达式中:
- “^”表示正则表达式的开始
- “[^;!@#$%^&*()]”表示除了特殊字符以外的任意字符
- “*”表示前面的字符可以出现任意次
- “$”表示正则表达式的结束
如果需要校验一个字符串是否包含特殊字符,只需要使用该正则表达式进行匹配即可。如果匹配成功,说明字符串中不包含特殊字符,反之则包含特殊字符。
相关问题
js中用户名不允许是纯数字 不能包含 ! @ # % ^ & *这些符号 数字不能开头
你可以使用正则表达式来验证用户名是否有效。以下是一个验证用户名的正则表达式:
```
/^(?![0-9])[a-zA-Z0-9!@#$%^&*]{3,}$/g
```
这个正则表达式的意思是:
- `^`:匹配字符串的开头
- `(?![0-9])`:不允许以数字开头
- `[a-zA-Z0-9!@#$%^&*]`:允许使用字母、数字和一些特殊字符
- `{3,}`:至少包含3个字符
- `$`:匹配字符串的结尾
使用这个正则表达式来验证用户名是否有效,可以使用`test`方法:
```javascript
const username = 'abc123';
const regex = /^(?![0-9])[a-zA-Z0-9!@#$%^&*]{3,}$/g;
const isValid = regex.test(username);
console.log(isValid); // true
const username2 = '123abc';
const isValid2 = regex.test(username2);
console.log(isValid2); // false
const username3 = 'abc!@#';
const isValid3 = regex.test(username3);
console.log(isValid3); // false
```
以上代码将输出`true`,`false`和`false`,分别代表第一个用户名是有效的,第二个用户名是无效的(因为以数字开头),第三个用户名也是无效的(因为包含不允许使用的符号)。
生成由字母,数字,特殊字符三种组成,长度为8-32位;特殊字符为!#%@^&*()_+-=的正则表达式
生成由字母、数字、特殊字符三种组成,长度为8-32位;特殊字符为!#%@^&*()_+-=的正则表达式如下:
```
^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!#%@^&*()_+\-=])[a-zA-Z\d!#%@^&*()_+\-=]{8,32}$
```
这个正则表达式使用了正则表达式的多种语法,包括:
- `^` 表示匹配字符串的开始位置
- `(?=.*[a-zA-Z])` 表示必须包含至少一个字母
- `(?=.*\d)` 表示必须包含至少一个数字
- `(?=.*[!#%@^&*()_+\-=])` 表示必须包含至少一个特殊字符
- `[a-zA-Z\d!#%@^&*()_+\-=]{8,32}` 表示匹配长度为8-32位的由字母、数字、特殊字符三种组成的字符串
- `$` 表示匹配字符串的结束位置