如何在 JavaScript 中检查字符串是不是包含数字和特殊字符?

Posted

技术标签:

【中文标题】如何在 JavaScript 中检查字符串是不是包含数字和特殊字符?【英文标题】:How to check the string has number and special characters in JavaScript?如何在 JavaScript 中检查字符串是否包含数字和特殊字符? 【发布时间】:2019-05-24 16:00:55 【问题描述】:

我有以下函数来查找包含数字和特殊字符的字符串,但它不起作用

let validateStr = (stringToValidate) => 
var pattern = /^[a-zA-Z]*$/;
if (stringToValidate&& stringToValidate.length > 2 && pattern.test(stringToValidate)) 
    
    return false;
 else 
    return true;

;
validateStr("123$%^$") // I need the above function should return false.
validateStr("sdsdsdsd$%^$") // true
validateStr("sdsdsdsd") // true
validateStr("sdsdsdsd45678") // false
validateStr("$#*()%^$")//false
validateStr("123434333")//false

【问题讨论】:

Special character validation的可能重复 @Najamussaqib 这不是重复的,检查第四个函数调用,它在你的情况下不起作用 .validateStr("$#*()%^$") 用你的模式检查它。跨度> 你的模式是完全可选的,所以一切都会匹配。 【参考方案1】:

您的正则表达式应该是:

/[a-zA-Z]+[(@!#\$%\^\&*\)\(+=._-]1,/

试试下面的方法:

let validateStr = (stringToValidate) => 
  var pattern = /[a-zA-Z]+[(@!#\$%\^\&*\)\(+=._-]1,/;
  if ( stringToValidate && stringToValidate.length > 2 && pattern.test(stringToValidate)) 
    return true;
   else 
    return false;
  
;
console.log(validateStr("123$%^$"));      //false
console.log(validateStr("sdsdsdsd$%^$")); //true
console.log(validateStr("sdsdsdsd45678"));//false
console.log(validateStr("$#*()%^$"));     //false
console.log(validateStr("123434333"));    //false

【讨论】:

对于这种情况 validateStr("sdsdsdsd45678") 我需要返回 false 。 @parithiinfo,只需从正则表达式中删除\d......更新了答案......请检查。 @mamum 它不允许纯字符串,例如:console.log (validateStr("sdsdsdsdsdsd"));// 我应该返回 true,但在你的情况下它返回 false @parithiinfo,你可以使用/[a-zA-Z]+([(@!#\$%\^\&*\)\(+=._-]1,)?/和量词?......但在这种情况下validateStr("sdsdsdsd45678")也将是真的...... 如果我使用这个,console.log(validateStr("sdsdsdsd45678"));这个也成真了。【参考方案2】:

您可以使用此代码来跟踪字符串值中的数字和特殊字符。

 function checkNumberOrSpecialCharacters(stringValue)

    if( /[^a-zA-Z\-\/]/.test( stringValue) ) 
        alert('Input is not alphabetic');
        return false;
    
 alert('Input is alphabetic');
    return true;     

【讨论】:

以上是关于如何在 JavaScript 中检查字符串是不是包含数字和特殊字符?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Javascript中检查字符串结束位置是不是存在值? [复制]

如何在 JavaScript 中检查字符串是不是包含数字和特殊字符?

JavaScript - 如何检查是不是在数字输入字段中输入了字母字符或符号[重复]

JavaScript/jQuery - 如何检查字符串是不是包含特定单词

如何检查 Javascript 中是不是存在字符串/数组/对象? [复制]

如何检查字符串是不是包含 JavaScript 预定义数组中存在的子字符串?