let one; // 第二个横杠前内容
let devsnval;
let first = m_userId.indexOf("-") + 1; // 从第一个横杠算起(+1表示不包括该横杠)
let kong = m_userId.indexOf(" ", first); // 第一个横杠后的第一个空格
let heng = m_userId.indexOf("-", first); // 第一个横杠后的第一个横杠(即第二个横杠)
if (heng == -1) {
one = m_userId.substring(0, kong);
devsnval = m_userId.substring(kong).substring(1,
m_userId.length);
} else {
one = m_userId.substring(0, heng);
devsnval = m_userId.substring(heng).substring(1,
m_userId.length);
}
//判断字符串里面是否含有某个字段
var ss="hello monkey!"
console.log(ss.indexOf('monkey'))// 如果包含,则返回查询字符串的个数,不包含则返回-1;
console.log(ss.includes('qmonkey'))//如果包含则返回true,反之则为false
var str = "aaabbbfff";
str = str.match(/aaa(\S*)fff/)[1];
alert(str);
结果bbb
var str = "aaafff";
str = str.match(/(\S*)fff/)[1];
alert(str);
//结果aaa
var str = "aaafff";
str = str.match(/aaa(\S*)/)[1];
alert(str);
//结果fff
// 截取两个字符串之间的子字符串,返回第一个
function subStringOne(text, begin, end) {
var regex;
if (end == '\\n')
regex = RegExp(begin + '(.+)?');
else
regex = RegExp(begin + '([.\\s\\S]+?)' + end);
try {
return regex.exec(text)[1].trim()
} catch (err) {
return null;
}
};
// 截取两个字符串之间的子字符串,返回所有
function subStringMulti(text, begin, end) {
var regex;
if (end == '\\n')
regex = new RegExp(begin + '(.+)', "g");
else
regex = new RegExp(begin + '([\\s\\S]+?)' + end, "g");
try {
var result;
var blocks = [];
while ((result = regex.exec(text)) != null) {
blocks.push(result[1].trim());
}
return blocks;
// return text.match(regex);
} catch (err) {
return null;
}
};
var str = "aaafffppp00";
str = str.substring(3);
alert(str);
//结果fffppp00
this.time = "7:00"
let index = this.time.indexOf(":");
得到索引的位置
let m_start_hour = this.time.substring(0,index);
// 获取第一个"_"前面所有字符
let m_start_min = this.time.substring(index+1);
//获取第一个"_"后面所有字符
//console.log(m_start_hour,"62",m_start_min) 7,62,00
获取第二个"_"及后面所有字符,举例:
String a = "abc_def_Ghi";
String str3 = a.substring(a.indexOf("_",a.indexOf("_") + 1));//包含本身位置
System.out.println("第二个_及后面字符串为:" + str3 );//_Ghi
获取第二个"_"前面所有字符,举例:
String a = "abc_def_Ghi";
String str4 = a.substring(0,a.indexOf("_",a.indexOf("_") + 1));//不包含本身位置
System.out.println("第二个_前面字符串为:" + str4 );//abc_def
//截取从下标begin到str.length()-1内容
substring(begin)
//截取指定范围的内容
substring(begin,end)
String s = "abc_def_Ghi";//0~10
// int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
//从头开始查找是否存在指定的字符
System.out.println(s.indexOf("c")); //2
//int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
// 从索引为3位置开始往后查找,包含3的位置
System.out.println(s.indexOf("d", 3)); //4
//若指定字符串中没有该字符则系统返回-1
System.out.println(s.indexOf("A")); //-1
//int lastIndexOf(String str) 从后往前找一次出现的位置
System.out.println(s.lastIndexOf("_")); //7
//字符串替换手机号
let str = '1234567890'
console.log('原字符串:' + str)
console.log('替换前3位:' + str.replace(/^.{3}/, '***'))
console.log('替换后4位:' + str.replace(/.{4}$/, '****'))
console.log('替换前3位和末尾4位保留中间:' + str.replace(/^.{3}(.*).{4}$/, '***$1****'))
console.log(str.replace(/^(\d{3})\d+(\d{4})$/, "$1****$2"),"8111")
/**
* 隐藏身份证中间8位数
* @param {data} 传入数据
* 格式:530026******2101
*/
const idCard = (data) => {
return data.replace(/(.{6}).*(.{4})/, "$1********$2")
}
///不建议使用,隐藏纯字母的
var idcard = '530026222211032101';
idcard.replace(/^(\d{6})\d+(\d{4})$/, "$1******$2");
/**
* 只隐藏姓名中间的字
* @param {data} 传入数据
* 格式:张*三
*/
const hideCenterName = (name) => {
let newStr;
if (name.length === 2) {
newStr = name.substr(0, 1) + '*';
} else if (name.length > 2) {
let char = '';
for (let i = 0, len = name.length - 2; i < len; i++) {
char += '*';
}
newStr = name.substr(0, 1) + char + name.substr(-1, 1);
} else {
newStr = name;
}
return newStr;
}
/**
* 只显示姓氏
* @param {data} 传入数据
* 格式:张**
*/
const showFirstName = (name) => {
let newStr;
if (name.length === 2) {
newStr = name.substr(0, 1) + '*';
} else if (name.length > 2) {
let char = '';
for (let i = 0, len = name.length - 1; i < len; i++) {
char += '*';
}
newStr = name.substr(0, 1) + char;
} else {
newStr = name;
}
return newStr;
}