问题分析:
在JavaScript脚本语言中判断一个字符串中是否即包含数字亦包含字母,可以使用正则(RegExp对象)的方式,如果仅仅只是做判断,要求返回true或者false的话,那么使用RegExp对象的test方法即可。
举例如下:
//定义字符串var str1 = '123' //第一个字符串,仅有数字。
var str2 = 'abc' //第二个字符串,仅有字母。
var str3 = 'a1b2c3' //第三个字符串,既有数字亦有字母。
//定义验证规则,由于字符串数字和字母的顺序可能不同。
//也有可能字母和数字中间还包含了其他字符。故将验证规则分开定义。
var regNumber = /\d+/ //验证0-9的任意数字最少出现1次。
var regString = /[a-zA-Z]+/ //验证大小写26个字母任意字母最少出现1次。
//验证第一个字符串
if (regNumber.test(str1) && regString.test(str1)) {
console.log('str1:验证成功')
}else{
console.log('str1:验证失败')
}
//验证第二个字符串
if (regNumber.test(str2) && regString.test(str2)) {
console.log('str2:验证成功')
}else{
console.log('str2:验证失败')
}
//验证第三个字符串
if (regNumber.test(str3) && regString.test(str3)) {
console.log('str3:验证成功')
}else{
console.log('str3:验证失败')
}
运行结果:
总结:
由于第一个字符串仅有数字,第二个字符串仅有字母,都不符合数字和字母都必须存在的需求,所以执行结果是“验证失败”,而第三个字符串,既包含字母亦包含数字,所以执行结果是“验证成功”。
js 正则表达式检测是否包含特殊字符,代码如下:
<script language="javascript" type="text/javascript">
var title='js判断字符串是否包含特殊字符~`'
//正则中添加需要验证的特殊字符
var vkeyWords=/[`~!@#$^&*()+=|\\\[\]\{\}:'\,.<>/?]/
if(vkeyWords.test(title)){
console.log('标题含有特殊字符')
}else{
console.log('标题正常')
}
</script>
js 正则表达式判断字符串是否包含特定的字符串,代码如下:
<script language="javascript" type="text/javascript">var title='js正则判断字符串是否包含js字符串'
//标题含有js字符串
var vkeyWords=/js/
//标题开头为js的字符串>js正则判断字符串
//var vkeyWords=/^js/
//标题结尾为js的字符串>字符串是否包含js
//var vkeyWords=/js$/
//标题开头和结尾为js的字符串>js
//var vkeyWords=/^js$/
if(vkeyWords.test(title)){
console.log('标题含有js字符串')
}else{
console.log('标题不含有js字符串')
}
</script>