我需要找到一个只允许字母数字的reg ex。到目前为止,我尝试的每个人都只在字符串是字母数字的情况下工作,意思是既包含字母又包含数字。我只想要一个既允许其中一种,又不要求两者兼得的。
当前回答
将这些代码输入到您的SCRATCHPAD并查看操作。
var str=String("Blah-Blah1_2,oo0.01&zz%kick").replace(/[^\w-]/ig, '');
其他回答
/^([a-zA-Z0-9 _-]+)$/
上面的正则表达式允许字符串中有空格并限制特殊字符。它只允许 a-z, a-z, 0-9,空格,下划线和破折号。
如果你想返回一个替换的结果,那么这将工作:
var a = 'Test123*** TEST'; Var b = a.replace(/[^a-z0-9]/gi, "); console.log (b);
这将返回:
Test123TEST
请注意,gi是必要的,因为它意味着全局(不仅仅是在第一次匹配时),并且不区分大小写,这就是为什么我使用a-z而不是a-zA-Z。括号内的^表示“括号外的任何东西”。
警告:字母数字是最好的,如果这正是你想要的。但如果你在国际市场上使用它,比如一个人的名字或地理区域,那么你需要考虑unicode字符,这是不需要的。例如,如果您有一个像“Âlvarö”这样的名称,它将使其成为“lvar”。
将这些代码输入到您的SCRATCHPAD并查看操作。
var str=String("Blah-Blah1_2,oo0.01&zz%kick").replace(/[^\w-]/ig, '');
Jquery to accept only NUMBERS, ALPHABETS and SPECIAL CHARECTERS <html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head> <body> Enter Only Numbers: <input type="text" id="onlynumbers"> <br><br> Enter Only Alphabets: <input type="text" id="onlyalpha"> <br><br> Enter other than Alphabets and numbers like special characters: <input type="text" id="speclchar"> <script> $('#onlynumbers').keypress(function(e) { var letters=/^[0-9]/g; //g means global if(!(e.key).match(letters)) e.preventDefault(); }); $('#onlyalpha').keypress(function(e) { var letters=/^[a-z]/gi; //i means ignorecase if(!(e.key).match(letters)) e.preventDefault(); }); $('#speclchar').keypress(function(e) { var letters=/^[0-9a-z]/gi; if((e.key).match(letters)) e.preventDefault(); }); </script> </body> </html>
**JQUERY to accept only NUMBERS , ALPHABETS and SPECIAL CHARACTERS **
<!DOCTYPE html>
$('#onlynumbers').keypress(function(e) {
var letters=/^[0-9]/g; //g means global
if(!(e.key).match(letters)) e.preventDefault();
});
$('#onlyalpha').keypress(function(e) {
var letters=/^[a-z]/gi; //i means ignorecase
if(!(e.key).match(letters)) e.preventDefault();
});
$('#speclchar').keypress(function(e) {
var letters=/^[0-9a-z]/gi;
if((e.key).match(letters)) e.preventDefault();
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
只输入数字: 只输入字母: 输入除字母和数字以外的特殊字符:
</body>
</html>
与检查有效的字母数字字符串不同,可以通过检查字符串中的任何无效字符来间接实现这一点。通过检查与有效字母数字字符串的补码匹配的任何内容来执行此操作。
/[^a-z\d]/i
这里有一个例子:
var alphanumeric = "someStringHere";
var myRegEx = /[^a-z\d]/i;
var isValid = !(myRegEx.test(alphanumeric));
注意isValid处的逻辑not运算符,因为我测试的是字符串是否为假,而不是它是否有效。
推荐文章
- 在react native中隐藏/显示组件
- 在网页上用鼠标模拟震颤(例如帕金森病)?
- console.log()和console.debug()的区别?
- 如何删除和清除所有的本地存储数据
- 如何从给定的html字符串中删除前导和尾随空白?
- 如何为KnockoutJS调试模板绑定错误?
- 将一个二进制的NodeJS Buffer转换为JavaScript的ArrayBuffer
- 检测浏览器标签是否有焦点
- JavaScript在数组中
- 如何从JavaScript中使用正则表达式的字符串中剥离所有标点符号?
- 如何修改标签文本?
- 如何获得十六进制颜色值而不是RGB值?
- 字符串strip() JavaScript?
- 正则表达式中的单词边界是什么?
- 如何将一个标题转换为jQuery的URL段塞?